使用Express.js 4,当我尝试使用sendFile来提供具有javascript文件或图像的附加链接的页面时,浏览器不会加载其他资源。如果我使用URL访问页面它可以正常工作,就在我尝试使用sendFile方法加载页面时就是问题。
例如,以下是我的代码:
var express = require('express');
var app = express();
app.use(express.static('client'));
var path = require('path');
app.get('/game/:gameid', function (req,res) {
var gameID = req.params.gameid;
if (checkGameExists(gameID)) {
res.sendFile(path.resolve(__dirname + '/client/chessBoard.html'));
}
我尝试了很多变体,如:
res.sendFile(path.resolve(__dirname + '/client/chessBoard.html'));
res.sendFile(__dirname + "/chessBoard.html");`
res.sendFile("chessBoard.html", {root: __dirname + "/client/"});
我已经阅读了sendFile(http://expressjs.com/4x/api.html#res.sendFile)上的Express4 API文档,但我不确定我做错了什么。
我是Node.js&的新手。 Express.js所以任何帮助将不胜感激!
答案 0 :(得分:0)
您可以执行以下操作:
app.use('/assets',express.static(path.join(__dirname,'public/assets')));
并使其更具体
app.use('/stylesheets',express.static(path.join(__dirname,'public/javascripts/stylesheets')));
现在将您的文件放在public / assets文件夹中,假设您的HTML文件名是index.html。 在index.html中,您可以将文件链接为 src =“/ assets / js / abc.js”。
如需更多参考,您可以查看我的演示here。
我希望这会有所帮助。