繁体   English   中英

当将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.

我有一个在默认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表示GET /public/jsFile.js该文件。 它们没有被下载,正在被请求,但是很可能路径错误。

考虑到该路径显示public/jsFile.js我相信这是因为您在路径中包含了“ public”。 删除它。 HTML中JS和CSS文件的路径应为“ /jsFile.js”和“ /cssFile.css”

作为测试,将浏览器指向/public/jsFile.js ,应该会出现错误,但是将浏览器指向/jsFile.js应该可以。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM