我只是继承了一个node.js项目,我怀疑其中某个节点项目所需的原始样板尚未完成。这也是我第一次使用node.js。
无论如何,当我运行节点app.js时,正确的端口会启动,并且一切正常,但该应用程序无法加载多个脚本文件(每个js文件都给出错误“ Uncaught SyntaxError:Unexpected token <”错误)加载)。我尝试解决此错误,有很多在线资源可供解决,但我无法确定该错误。我尝试添加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' });
});
但是,看起来它应该可以正常工作(遵循文件的路径)。有任何想法吗?
几乎可以肯定,该app.all
路由正在发回HTML来发送应该发送javascript的请求。您需要查看浏览器正在获取的特定URL作为脚本标签,但是服务器正在发送回HTML。相应的.js
文件可能不存在public/js
,导致路由器无法进入所有路由。
旁注,express.static
由于URL与文件系统结构对齐,因此可以将路由压缩到此位置。
// serve all asset files from necessary directories
app.use(express.static(__dirname + '/public'));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句