【发布时间】:2015-12-05 13:00:00
【问题描述】:
我在尝试提供客户端代码时收到以下屏幕截图错误。当我尝试运行node server/server.js:
以下是我的 server.js 代码...
app.use(express.static(path.join(__dirname, "public")));
app.use(logger('dev'));
app.use(bodyParser.json({limit: '50mb'}));
app.all('/*', function(req, res, next){
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "GET, PUT, POST, DELETE, OPTIONS");
res.header("Access-Control-Allow-Headers", "Content-type,Accept,X-Access-Token,X-Key");
if(req.method === 'OPTIONS'){
res.status(200).end();
} else {
next();
}
});
app.all("/api/v1/*", [require('./middlewares/validateRequest')]);
app.use("/", require("./routes"));
app.use(function(req, res, next){
var err = new Error("Not found");
err.status = 404;
next(err);
});
在我的routes/index.js 中,get request 有以下内容。
router.get('*', function(req, res) {
res.sendfile('./public/index.html');
});
【问题讨论】:
-
看起来它正在读取 HTML 文件而不是 JavaScript 文件。您是否为 jQuery 获取了正确的 JavaScript 文件?检查网络选项卡。
-
Chrome:检查网络标签。 Firefox:检查网络选项卡。查看 jQuery 请求的响应。
-
@PraveenKumar:它在网络选项卡中加载 html 文件而不是 javascript 文件......为什么会这样? localhost:3000/assets/libs/jquery/jquery.min.js这不是指向js文件,而是index.html...查看源码
-
@ShankarGuru — 它正在提供 HTML 文件,因为您告诉它这样做。看你的路线。
res.sendfile('./public/index.html'); -
@Quentin:为什么不提供 index.html 中包含的 js 文件...
标签: javascript node.js express