当加载我的应用程序时,我得到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.js
和dist/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'
,我的页面加载正确,没有任何改变我的服务器配置。