我使用express和backbone创建一个单页应用程序。
在我的server.js中我使用app.get / app.post / app.update等设置了REST调用。 在文件的最后,我有这条路线来加载我们的前端代码。
// load our main backbone javascript file
app.get('/*', function(req, res){
// we're not sending the correct location of the file.
res.sendfile('public/index.html');
});
一切都按计划运行,直到我点击刷新时我不在localhost:3000 / 例如,如果我在localhost:3000 / user / 300并点击刷新,那么我收到此错误消息。
"Uncaught SyntaxError: Unexpected token < "
- app.js第2行(我们的骨干文件)
并且没有任何内容被加载到页面上,它只是空白。
是不是正确加载文件?任何想法为什么会这样?
`Resource interpreted as Script but transferred with MIME type text/html: "http://localhost:3000/r/app.js".`
这也是我在Chrome控制台中收到的错误消息。
更新:所以我改变了
Backbone.history.start({pushState: true});
到
Backbone.history.start();
现在一切正常,我可以刷新页面而不会出错。但是,URL现在有一个哈希.. = /有人可以推荐我解决问题的方法,这样我就不必在我的网址中使用哈希了吗?