使用sendFile方法时,Node.js和Express.JS 4未加载链接文件

时间:2014-12-08 00:53:42

标签: node.js express

使用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所以任何帮助将不胜感激!

1 个答案:

答案 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

我希望这会有所帮助。