如何在 NodeJS 中与 html 一起提供简单的静态文件?
How to serve simple static files along with html in NodeJS?
我正在尝试使用 express.static()
在 NodeJS 中发送一个 HTML 文件及其 CSS 和 JS 文件,但它不起作用。
我在某些视频中做了同样的事情,但我不知道问题出在哪里。而且当我在没有服务器的情况下打开 index.html
时,它会显示样式。
这是我的app.js(服务器):
app.use(express.static('public'));
app.get("/", (req, res)=>{
res.sendFile(`${__dirname}/index.html`);
});
HTML:
<head>
<link href="./public/styles.css" rel="stylesheet" type="text/css"/>
<script src="./public/jQuery.js"></script>
<script src="./public/main.js"></script>
</head>
我的 public 文件夹:
-node_modules
-public
jQuery.js
main.js
styles.css
app.js
index.html
package.json
package-lock.json
提前致谢。
在app.use(express.static('public'));
中,字符串'public'
指的是模块应该搜索静态文件的目录,不是 它应该用于搜索的 URL 路径。
src="/jQuery.js"
将映射到 public/jQuery.js
文件。
要将以 /public/
开头的 URL 映射到 public
目录,您需要将其指定为要使用的第一个参数:
app.use('/public', express.static('public'));
然后 src="/public/jQuery.js"
将映射到 public/jQuery.js
文件。
我正在尝试使用 express.static()
在 NodeJS 中发送一个 HTML 文件及其 CSS 和 JS 文件,但它不起作用。
我在某些视频中做了同样的事情,但我不知道问题出在哪里。而且当我在没有服务器的情况下打开 index.html
时,它会显示样式。
这是我的app.js(服务器):
app.use(express.static('public'));
app.get("/", (req, res)=>{
res.sendFile(`${__dirname}/index.html`);
});
HTML:
<head>
<link href="./public/styles.css" rel="stylesheet" type="text/css"/>
<script src="./public/jQuery.js"></script>
<script src="./public/main.js"></script>
</head>
我的 public 文件夹:
-node_modules
-public
jQuery.js
main.js
styles.css
app.js
index.html
package.json
package-lock.json
提前致谢。
在app.use(express.static('public'));
中,字符串'public'
指的是模块应该搜索静态文件的目录,不是 它应该用于搜索的 URL 路径。
src="/jQuery.js"
将映射到 public/jQuery.js
文件。
要将以 /public/
开头的 URL 映射到 public
目录,您需要将其指定为要使用的第一个参数:
app.use('/public', express.static('public'));
然后 src="/public/jQuery.js"
将映射到 public/jQuery.js
文件。