{"id":6202,"date":"2026-02-15T16:36:18","date_gmt":"2026-02-15T13:06:18","guid":{"rendered":"https:\/\/parmin.cloud\/blog\/?p=6202"},"modified":"2026-02-15T16:36:18","modified_gmt":"2026-02-15T13:06:18","slug":"%d9%86%d8%ad%d9%88%d9%87-%d8%a7%d8%b1%d8%b3%d8%a7%d9%84-%d9%81%d8%a7%db%8c%d9%84%d9%87%d8%a7%db%8c-html-%d8%a8%d8%a7-express","status":"publish","type":"post","link":"https:\/\/parmin.cloud\/blog\/%d9%86%d8%ad%d9%88%d9%87-%d8%a7%d8%b1%d8%b3%d8%a7%d9%84-%d9%81%d8%a7%db%8c%d9%84%d9%87%d8%a7%db%8c-html-%d8%a8%d8%a7-express\/","title":{"rendered":"\u0646\u062d\u0648\u0647 \u0627\u0631\u0633\u0627\u0644 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc HTML \u0628\u0627 Express"},"content":{"rendered":"<h3 data-start=\"97\" data-end=\"108\">\u0645\u0642\u062f\u0645\u0647<\/h3>\n<p data-start=\"109\" data-end=\"307\">\u062f\u0631 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc <strong data-start=\"123\" data-end=\"134\">Node.js<\/strong> \u0648 <strong data-start=\"137\" data-end=\"148\">Express<\/strong> \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0627\u0632 <code data-start=\"160\" data-end=\"176\">res.sendFile()<\/code> \u0628\u0631\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f. \u0627\u0631\u0633\u0627\u0644 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc HTML \u0628\u0627 Express \u0632\u0645\u0627\u0646\u06cc \u0645\u0641\u06cc\u062f \u0627\u0633\u062a \u06a9\u0647 \u0628\u062e\u0648\u0627\u0647\u06cc\u062f \u0635\u0641\u062d\u0627\u062a \u0627\u0633\u062a\u0627\u062a\u06cc\u06a9 (Static Pages) \u0631\u0627 \u0633\u0631\u0648 \u06a9\u0646\u06cc\u062f.<\/p>\n<blockquote data-start=\"309\" data-end=\"447\">\n<p data-start=\"311\" data-end=\"447\">\u0646\u06a9\u062a\u0647: \u0642\u0628\u0644 \u0627\u0632 \u0646\u0633\u062e\u0647\u0654 <strong data-start=\"330\" data-end=\"347\">Express 4.8.0<\/strong> \u0645\u062a\u062f <code data-start=\"352\" data-end=\"368\">res.sendfile()<\/code> (\u0628\u0627 \u062d\u0631\u0641 \u06a9\u0648\u0686\u06a9 f) \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0645\u06cc\u200c\u0634\u062f\u060c \u0627\u0645\u0627 \u0627\u06cc\u0646 \u0646\u0633\u062e\u0647 \u0627\u06a9\u0646\u0648\u0646 \u0645\u0646\u0633\u0648\u062e (deprecated) \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<\/blockquote>\n<p data-start=\"449\" data-end=\"514\">\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u06cc\u0627\u062f \u0645\u06cc\u200c\u06af\u06cc\u0631\u06cc\u062f \u0686\u06af\u0648\u0646\u0647 \u0627\u0632 <code data-start=\"484\" data-end=\"500\">res.sendFile()<\/code> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<hr data-start=\"516\" data-end=\"519\" \/>\n<h2 data-start=\"521\" data-end=\"534\">\u067e\u06cc\u0634\u200c\u0646\u06cc\u0627\u0632\u0647\u0627<\/h2>\n<p data-start=\"536\" data-end=\"581\">\u0628\u0631\u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0628\u0647 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f:<\/p>\n<ul data-start=\"583\" data-end=\"772\">\n<li data-start=\"583\" data-end=\"670\">\n<p data-start=\"585\" data-end=\"670\">\u0646\u0635\u0628 <strong data-start=\"589\" data-end=\"600\">Node.js<\/strong> \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 (\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0646\u0635\u0628 Node.js \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f).<\/p>\n<\/li>\n<li data-start=\"671\" data-end=\"772\">\n<p data-start=\"673\" data-end=\"713\">\u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0628\u0627 \u0646\u0633\u062e\u0647\u200c\u0647\u0627\u06cc \u0632\u06cc\u0631 \u062a\u0633\u062a \u0634\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<ul data-start=\"716\" data-end=\"772\">\n<li data-start=\"716\" data-end=\"732\">\n<p data-start=\"718\" data-end=\"732\">Node v16.0.0<\/p>\n<\/li>\n<li data-start=\"735\" data-end=\"750\">\n<p data-start=\"737\" data-end=\"750\">npm v7.11.1<\/p>\n<\/li>\n<li data-start=\"753\" data-end=\"772\">\n<p data-start=\"755\" data-end=\"772\">express v4.17.1<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<hr data-start=\"774\" data-end=\"777\" \/>\n<h2 data-start=\"779\" data-end=\"808\">\u0645\u0631\u062d\u0644\u0647 \u06f1 \u2014 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u067e\u0631\u0648\u0698\u0647<\/h2>\n<p data-start=\"810\" data-end=\"860\">\u0627\u0628\u062a\u062f\u0627 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0631\u062f\u0647 \u0648 \u06cc\u06a9 \u067e\u0648\u0634\u0647\u0654 \u067e\u0631\u0648\u0698\u0647 \u0628\u0633\u0627\u0632\u06cc\u062f:<\/p>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\"><span class=\"hljs-built_in\">mkdir<\/span> express-sendfile-example<br \/>\n<\/code><\/div>\n<\/div>\n<p data-start=\"906\" data-end=\"925\">\u0633\u067e\u0633 \u0648\u0627\u0631\u062f \u067e\u0648\u0634\u0647 \u0634\u0648\u06cc\u062f:<\/p>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\"><span class=\"hljs-built_in\">cd<\/span> express-sendfile-example<br \/>\n<\/code><\/div>\n<\/div>\n<p data-start=\"968\" data-end=\"998\">\u062d\u0627\u0644\u0627 \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647\u0654 npm \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">npm init -y<br \/>\n<\/code><\/div>\n<\/div>\n<p data-start=\"1025\" data-end=\"1054\">\u0633\u067e\u0633 \u067e\u06a9\u06cc\u062c express \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">npm install express@4.17.1<br \/>\n<\/code><\/div>\n<\/div>\n<p data-start=\"1096\" data-end=\"1150\">\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647 \u067e\u0631\u0648\u0698\u0647\u0654 \u0634\u0645\u0627 \u0622\u0645\u0627\u062f\u0647\u0654 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Express \u0627\u0633\u062a.<\/p>\n<hr data-start=\"1152\" data-end=\"1155\" \/>\n<p data-start=\"1157\" data-end=\"1219\">\u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u062c\u062f\u06cc\u062f \u0628\u0647 \u0646\u0627\u0645 <strong data-start=\"1177\" data-end=\"1190\">server.js<\/strong> \u0628\u0633\u0627\u0632\u06cc\u062f \u0648 \u062f\u0631 \u0627\u062f\u06cc\u062a\u0648\u0631 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\">\n<p><code class=\"whitespace-pre! language-javascript\"><span class=\"hljs-keyword\">const<\/span> express = <span class=\"hljs-built_in\">require<\/span>(<span class=\"hljs-string\">'express'<\/span>);<\/code><\/p>\n<p><span class=\"hljs-keyword\">const<\/span> app = <span class=\"hljs-title function_\">express<\/span>();<br \/>\n<span class=\"hljs-keyword\">const<\/span> port = process.<span class=\"hljs-property\">env<\/span>.<span class=\"hljs-property\">PORT<\/span> || <span class=\"hljs-number\">8080<\/span>;<\/p>\n<p><span class=\"hljs-comment\">\/\/ sendFile will go here<\/span><\/p>\n<p>app.<span class=\"hljs-title function_\">listen<\/span>(port);<br \/>\n<span class=\"hljs-variable language_\">console<\/span>.<span class=\"hljs-title function_\">log<\/span>(<span class=\"hljs-string\">&#8216;Server started at http:\/\/localhost:&#8217;<\/span> + port);<\/p>\n<\/div>\n<\/div>\n<p data-start=\"1443\" data-end=\"1479\">\u062d\u0627\u0644\u0627 \u062f\u0631 \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">node server.js<br \/>\n<\/code><\/div>\n<\/div>\n<p data-start=\"1509\" data-end=\"1592\">\u0648\u0642\u062a\u06cc \u0645\u0637\u0645\u0626\u0646 \u0634\u062f\u06cc\u062f \u067e\u0631\u0648\u0698\u0647 \u062f\u0631\u0633\u062a \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 <code data-start=\"1562\" data-end=\"1578\">res.sendFile()<\/code> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<hr data-start=\"1594\" data-end=\"1597\" \/>\n<h2 data-start=\"1599\" data-end=\"1637\">\u0645\u0631\u062d\u0644\u0647 \u06f2 \u2014 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 res.sendFile()<\/h2>\n<p data-start=\"1639\" data-end=\"1739\">\u062f\u0648\u0628\u0627\u0631\u0647 \u0641\u0627\u06cc\u0644 <strong data-start=\"1651\" data-end=\"1664\">server.js<\/strong> \u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f \u0648 \u0645\u0627\u0698\u0648\u0644 <code data-start=\"1685\" data-end=\"1691\">path<\/code>\u060c \u0645\u062a\u062f <code data-start=\"1697\" data-end=\"1705\">.get()<\/code> \u0648 <code data-start=\"1708\" data-end=\"1724\">res.sendFile()<\/code> \u0631\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-javascript\"><code class=\"whitespace-pre! language-javascript\"><span class=\"hljs-keyword\">const<\/span> express = <span class=\"hljs-built_in\">require<\/span>(<span class=\"hljs-string\">'express'<\/span>);<br \/>\n<span class=\"hljs-keyword\">const<\/span> path = <span class=\"hljs-built_in\">require<\/span>(<span class=\"hljs-string\">'path'<\/span>);<\/code><\/code><span class=\"hljs-keyword\">const<\/span> app = <span class=\"hljs-title function_\">express<\/span>();<br \/>\n<span class=\"hljs-keyword\">const<\/span> port = process.<span class=\"hljs-property\">env<\/span>.<span class=\"hljs-property\">PORT<\/span> || <span class=\"hljs-number\">8080<\/span>;<code class=\"whitespace-pre! language-javascript\"><code class=\"whitespace-pre! language-javascript\"><\/code><\/code><span class=\"hljs-comment\">\/\/ sendFile will go here<\/span><br \/>\napp.<span class=\"hljs-title function_\">get<\/span>(<span class=\"hljs-string\">&#8216;\/&#8217;<\/span>, <span class=\"hljs-keyword\">function<\/span>(<span class=\"hljs-params\">req, res<\/span>) {<br \/>\nres.<span class=\"hljs-title function_\">sendFile<\/span>(path.<span class=\"hljs-title function_\">join<\/span>(__dirname, <span class=\"hljs-string\">&#8216;\/index.html&#8217;<\/span>));<br \/>\n});<\/p>\n<p><code class=\"whitespace-pre! language-javascript\"><code class=\"whitespace-pre! language-javascript\"><\/code><\/code>app.<span class=\"hljs-title function_\">listen<\/span>(port);<br \/>\n<span class=\"hljs-variable language_\">console<\/span>.<span class=\"hljs-title function_\">log<\/span>(<span class=\"hljs-string\">&#8216;Server started at http:\/\/localhost:&#8217;<\/span> + port);<\/p>\n<\/div>\n<\/div>\n<p data-start=\"2084\" data-end=\"2155\">\u0648\u0642\u062a\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u06cc \u0628\u0647 \u0633\u0631\u0648\u0631 \u0627\u0631\u0633\u0627\u0644 \u0634\u0648\u062f\u060c \u0641\u0627\u06cc\u0644 <strong data-start=\"2122\" data-end=\"2136\">index.html<\/strong> \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/p>\n<hr data-start=\"2157\" data-end=\"2160\" \/>\n<p data-start=\"2162\" data-end=\"2209\">\u062d\u0627\u0644\u0627 \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u062c\u062f\u06cc\u062f \u0628\u0647 \u0646\u0627\u0645 <strong data-start=\"2187\" data-end=\"2201\">index.html<\/strong> \u0628\u0633\u0627\u0632\u06cc\u062f:<\/p>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-html\"><code class=\"whitespace-pre! language-html\"><span class=\"hljs-meta\">&lt;!DOCTYPE <span class=\"hljs-keyword\">html<\/span><\/span>&gt;<br \/>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">html<\/span><\/span> <span class=\"hljs-attr\">lang<\/span>=<span class=\"hljs-string\">\"en\"<\/span>&gt;<br \/>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">head<\/span><\/span>&gt;<br \/>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">meta<\/span><\/span> <span class=\"hljs-attr\">charset<\/span>=<span class=\"hljs-string\">\"UTF-8\"<\/span>&gt;<br \/>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">title<\/span><\/span>&gt;Sample Site<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">title<\/span><\/span>&gt;<br \/>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">link<\/span><\/span> <span class=\"hljs-attr\">rel<\/span>=<span class=\"hljs-string\">\"stylesheet\"<\/span> <span class=\"hljs-attr\">href<\/span>=<span class=\"hljs-string\">\"https:\/\/stackpath.bootstrapcdn.com\/bootstrap\/4.3.1\/css\/bootstrap.min.css\"<\/span>&gt;<br \/>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">style<\/span><\/span>&gt;<br \/>\n<span class=\"hljs-selector-tag\">body<\/span> { <span class=\"hljs-attribute\">padding-top<\/span>: <span class=\"hljs-number\">50px<\/span>; }<br \/>\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">style<\/span><\/span>&gt;<br \/>\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">head<\/span><\/span>&gt;<br \/>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">body<\/span><\/span>&gt;<\/code><\/code><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span><\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">&#8220;container&#8221;<\/span>&gt;<br \/>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span><\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">&#8220;jumbotron&#8221;<\/span>&gt;<br \/>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">h1<\/span><\/span>&gt;res.sendFile() Works!<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">h1<\/span><\/span>&gt;<br \/>\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span><\/span>&gt;<br \/>\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span><\/span>&gt;<code class=\"whitespace-pre! language-html\"><code class=\"whitespace-pre! language-html\"><\/code><\/code><span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">body<\/span><\/span>&gt;<br \/>\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">html<\/span><\/span>&gt;<\/p>\n<\/div>\n<\/div>\n<p data-start=\"2625\" data-end=\"2657\">\u0627\u06cc\u0646 \u06a9\u062f \u067e\u06cc\u0627\u0645 \u0632\u06cc\u0631 \u0631\u0627 \u0646\u0645\u0627\u06cc\u0634 \u0645\u06cc\u200c\u062f\u0647\u062f:<\/p>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre!\">res<span class=\"hljs-selector-class\">.sendFile<\/span>() Works!<br \/>\n<\/code><\/div>\n<\/div>\n<blockquote data-start=\"2690\" data-end=\"2768\">\n<p data-start=\"2692\" data-end=\"2768\">\u0646\u06a9\u062a\u0647: \u062f\u0631 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0627\u06cc\u0644 \u0627\u0632 BootstrapCDN \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0634\u062f\u0647\u060c \u0627\u0645\u0627 \u0627\u0644\u0632\u0627\u0645\u06cc \u0646\u06cc\u0633\u062a.<\/p>\n<\/blockquote>\n<hr data-start=\"2770\" data-end=\"2773\" \/>\n<p data-start=\"2775\" data-end=\"2824\">\u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u062f\u0648\u0628\u0627\u0631\u0647 \u0633\u0631\u0648\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">node server.js<br \/>\n<\/code><\/div>\n<\/div>\n<p data-start=\"2854\" data-end=\"2905\">\u062d\u0627\u0644\u0627 \u0628\u0627 \u0628\u0627\u0632 \u0628\u0648\u062f\u0646 \u0633\u0631\u0648\u0631\u060c \u062f\u0631 \u0645\u0631\u0648\u0631\u06af\u0631 \u0628\u0647 \u0622\u062f\u0631\u0633 \u0632\u06cc\u0631 \u0628\u0631\u0648\u06cc\u062f:<\/p>\n<div class=\"contain-inline-size rounded-2xl corner-superellipse\/1.1 relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-[calc(var(--sticky-padding-top)+9*var(--spacing))]\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs\"><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre!\">http:<span class=\"hljs-comment\">\/\/localhost:8080<\/span><br \/>\n<\/code><\/div>\n<\/div>\n<p data-start=\"2938\" data-end=\"3019\">\u0627\u06a9\u0646\u0648\u0646 \u0628\u0631\u0646\u0627\u0645\u0647\u0654 \u0634\u0645\u0627 \u0627\u0632 <code data-start=\"2959\" data-end=\"2975\">res.sendFile()<\/code> \u0628\u0631\u0627\u06cc \u0633\u0631\u0648 \u06a9\u0631\u062f\u0646 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc HTML \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/p>\n<hr data-start=\"3021\" data-end=\"3024\" \/>\n<h2 data-start=\"3026\" data-end=\"3039\">\u0646\u062a\u06cc\u062c\u0647\u200c\u06af\u06cc\u0631\u06cc<\/h2>\n<p data-start=\"3041\" data-end=\"3104\">\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u06cc\u0627\u062f \u06af\u0631\u0641\u062a\u06cc\u062f \u0686\u06af\u0648\u0646\u0647 \u0627\u0632 <code data-start=\"3074\" data-end=\"3090\">res.sendFile()<\/code> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u0627\u0632 \u0647\u0645\u0631\u0627\u0647\u06cc \u0634\u0645\u0627 \u0628\u0627 <strong><a href=\"https:\/\/parmin.cloud\/\">\u067e\u0627\u0631\u0645\u06cc\u0646 \u06a9\u0644\u0648\u062f<\/a><\/strong> \u0633\u067e\u0627\u0633\u06af\u0632\u0627\u0631\u06cc\u0645.<\/p>\n<div style='text-align:center' class='yasr-auto-insert-visitor'><\/div>","protected":false},"excerpt":{"rendered":"<p>\u0645\u0642\u062f\u0645\u0647 \u062f\u0631 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc Node.js \u0648 Express \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0627\u0632 res.sendFile() \u0628\u0631\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f. \u0627\u0631\u0633\u0627\u0644 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc HTML \u0628\u0627 Express \u0632\u0645\u0627\u0646\u06cc \u0645\u0641\u06cc\u062f \u0627\u0633\u062a \u06a9\u0647 \u0628\u062e\u0648\u0627\u0647\u06cc\u062f \u0635\u0641\u062d\u0627\u062a \u0627\u0633\u062a\u0627\u062a\u06cc\u06a9 (Static Pages) \u0631\u0627 \u0633\u0631\u0648 \u06a9\u0646\u06cc\u062f. \u0646\u06a9\u062a\u0647: \u0642\u0628\u0644 \u0627\u0632 \u0646\u0633\u062e\u0647\u0654 Express 4.8.0 \u0645\u062a\u062f res.sendfile() (\u0628\u0627 \u062d\u0631\u0641 \u06a9\u0648\u0686\u06a9 f) \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0645\u06cc\u200c\u0634\u062f\u060c \u0627\u0645\u0627 \u0627\u06cc\u0646 \u0646\u0633\u062e\u0647 \u0627\u06a9\u0646\u0648\u0646 \u0645\u0646\u0633\u0648\u062e (deprecated) \u0634\u062f\u0647 \u0627\u0633\u062a. \u062f\u0631 \u0627\u06cc\u0646 [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":6205,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"yasr_overall_rating":0,"yasr_post_is_review":"","yasr_auto_insert_disabled":"","yasr_review_type":"","footnotes":""},"categories":[67,190],"tags":[915,914,913,912,911],"class_list":["post-6202","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-67","category-programming","tag--express-js--","tag---html--node-js","tag---res-sendfile--express","tag-----express","tag-----node-js"],"aioseo_notices":[],"yasr_visitor_votes":{"stars_attributes":{"read_only":false,"span_bottom":false},"number_of_votes":0,"sum_votes":0},"_links":{"self":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts\/6202","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/comments?post=6202"}],"version-history":[{"count":2,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts\/6202\/revisions"}],"predecessor-version":[{"id":6207,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/posts\/6202\/revisions\/6207"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/media\/6205"}],"wp:attachment":[{"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/media?parent=6202"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/categories?post=6202"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/parmin.cloud\/blog\/wp-json\/wp\/v2\/tags?post=6202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}