解决node.js错误

时间:2014-06-14 13:57:25

标签: javascript jquery node.js

我刚刚继承了一个node.js项目,我怀疑某个节点项目所需的原始样板还没有完成。这也是我第一次使用node.js。

无论如何,当我运行节点app.js 时,正确的端口启动了所有内容,但应用程序无法加载许多脚本文件(错误“Uncaught SyntaxError:Unexpected token” <“在每个无法加载的js文件上给出。我试图解决这个错误,网上有很多资源,但是我还没能把它搞定。我尝试将type="text/javascript"添加到每个script标签中,但它没有改变任何内容。

当我单击以解决脚本的错误加载路径时,它们都会将我带到index.html页面。因此,出于某种原因,似乎 app.js 文件中的代码部分无效:

// serve all asset files from necessary directories
app.use('/js', express.static(__dirname + '/public/js'));
app.use('/css', express.static(__dirname + '/public/css'));
app.use('/partials', express.static(__dirname + '/public/partials'));
app.use('/lib', express.static(__dirname + '/public/lib'));

// JSON API
app.get('/api/name', api.name);

// redirect all others to the index (HTML5 history)
app.all('/*', function(req, res, next) {
    res.sendfile('index.html', { root: __dirname + '/public' });
});

但是,它看起来应该正常工作(遵循文件的路径)。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

几乎可以肯定,app.all路由正在为应该发送javascript的请求发回HTML。您需要查看浏览器作为脚本标记获取的特定URL,但服务器正在发回HTML。相应的.js文件可能不在public/js下,导致路由器继续进行全能路由。

请注意,由于您的网址与文件系统结构的对齐,您可以将express.static路由压缩为此。

// serve all asset files from necessary directories
app.use(express.static(__dirname + '/public'));