vendor.js文件实际上是一个HTML文件?- nginx上的Ember 2.6



当加载我的应用程序时,我得到WSOD,打开控制台显示两个JS文件的错误:

uncaught SyntaxError: Unexpected token < vendor.js
uncaught SyntaxError: Unexpected token < myapp.js

查看chrome devtools中vendor.js和myapp.js文件的内容,它们的内容是dist/index.html文件的内容,所以它们不是实际的javascript文件(即dist/assets/vendor.jsdist/assets/myapp.js)。

我构建ember应用程序的唯一方法是运行命令ember build,在devtools中看到html文件的原因是什么,并且是浏览器看到的JS文件的实际内容?

我正在使用nginx,并检查了它包含/etc/nginx/mime.类型,所以不确定问题在哪里

可能你已经配置了你的web服务器nginx总是发送index.html的内容。这是必要的,因为烬路由器。

如果您访问http://example.com/myroute,您希望将index.html传递给浏览器,然后让ember路由器渲染myroute路由的内容。

可能你配置错了,所以nginx总是发送index.html,对于每个请求,这是不正确的。如果请求的文件不存在,它应该只发送index.html

我希望这能引导你走向正确的方向。这不是ember的问题,只是nginx的配置。

我也遇到了同样的问题,但发现当我把locationType选项在烬命令行config/environment.js'auto''hash',我的页面加载正确,没有任何改变我的服务器配置。

最新更新