当在express中使用sendfile作为到静态html文件的路由的一部分时,会下载相关的.js和.css文件,但它们

When using sendfile in express as part of a route to a static html file, the associated .js and .css files are downloaded, but aren't applied.

本文关键字:文件 下载 一部 分时 css js sendfile express 当在 路由 html      更新时间:2023-09-26

我有一个简单的本地服务器,运行在默认的express设置上。

我有一个用于路由的app.js和index.js文件。

在app.js中是express放入的所有标准内容,包括静态文件的行:

app.use(express.static(path.join(__dirname, 'public')));

在index.js文件中,我有一个路径:

 router.get('/', function(req, res) {
        res.sendfile('public/staticHTMLfile.html');
    });

在公共文件夹中,我有.js和.css文件,它们的路径在静态html文件中被正确引用。

当我在浏览器中访问localhost:3000/时,html会正确加载,并且我从npm命令提示符中看到关联的js文件和css文件已经被访问:

GET /public/jsFile.js 404 424ms - 1.34kb
GET /public/cssFile.css 404 27ms - 1.34kb

知道为什么它们没有应用到html中吗?我已经仔细检查了脚本和链接标签的正确路径。

如果你需要更多信息,请告诉我。

谢谢你抽出时间。

GET /public/jsFile.js行中看到的404表示找不到文件。他们没有被下载,他们被请求,但很可能走错了路。

既然路径上写着public/jsFile.js,我相信这是因为你在路径中包含了"public"。移除此。HTML中JS和CSS文件的路径应该是"/jsFile.JS"answers"/cssFile.CSS"

作为测试,将浏览器指向/public/jsFile.js,您应该会得到一个错误,但将浏览器指向/jsFile.js应该可以工作。