2016-06-14 69 views
0

我有一个独立运行的应用程序应用程序,我可以运行服务器并看到它。然后我运行了ember build,并在浏览器中打开了/dist/index.html。我无法在/ dist/assets文件夹中加载任何css或js,而是在查看我的根文件系统。我打开了index.html并注释掉了<base href='/'>。这样做后,我能够加载CSS和JS。但是,我遇到了一个安全问题。我在做这个构建过程中做了什么错误,我是否应该注释掉<base href='/'>Ember Build不工作?

的安全问题我是Uncaught SecurityError: Failed to execute 'replaceState' on 'History': A history state object with URL

回答

1

如果你在浏览器中直接向其file://...打开一个现代SPA的开始HTML,它几乎不会工作。浏览器将从本地文件系统打开的文件视为不同于服务器发送的html。

所以你应该做的是始终使用网络服务器将您的文件部署到您的浏览器。在典型的应用程序应用程序中,您还应该将应用程序部署到根文件夹,并且如果没有其他文件匹配请求的路径,则配置您的网络服务器始终发送index.html,以便该路由器可以开始执行自己的路由。

这几乎可以在之间完成,每 webserver,就像apache,nginx,IIS等一样。但如何在特殊的网络服务器上做到这一点,不是关于烬而是关于该Web服务器的问题。