症状
将我的Angular2应用程序升级到Angular ^4.1.2
以及将Angular CLI beta升级到^1.0.3
后,在运行带有{{1的应用程序的应用程序时,我的* .bundle.js文件找不到404 }}。请注意,此症状并未在Angular2和Angular CLI beta中出现。
设置
此问题仅在我将html5基本网址设置为ng serve
中的自定义网址时才存在,例如index.html
。 (即,如果我将其设置为<base href="/some-path/">
,则会找到<base href="/">
个文件并且我的应用程序正常运行)
研究
在所描述的情况下出现症状,因为无论html5基本URL是什么,文件都是通过angular cli在根级别上提供的。所以真正的问题是:如何告诉Angular CLI在指定的基本URL上提供* .bundle.js文件或告诉angular在root上获取文件?我找到了{{3似乎正好处理这个问题。因此,*.bundle.js
和--base-href
命令有ng serve
选项。
我尝试使用这些选项以及组合:
ng build
ng serve --base-href /assessment/
然而,症状仍然存在。
答案 0 :(得分:1)
我遇到了同样的问题,在StackOverflow和Github上寻找一段时间我找到了适合我的解决方案。
试试这个:$ng serve --base-href '/assessment/' --deploy-url '/'
它适用于我的项目。
答案 1 :(得分:0)
这对我有用:
index.html
上添加自定义路由,并在/
ng build --base-href /assessment/
构建角度应用。这将在dist文件中创建路由,因此可以使用prod。