使用自定义html5基本URL时,* .bundle.js文件的角度投掷404

时间:2017-05-15 08:11:28

标签: angular webpack angular-cli base-url

症状

将我的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/

然而,症状仍然存在。

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,在StackOverflow和Github上寻找一段时间我找到了适合我的解决方案。

试试这个:$ng serve --base-href '/assessment/' --deploy-url '/'它适用于我的项目。

答案 1 :(得分:0)

这对我有用:

  • 不要在index.html上添加自定义路由,并在/
  • 上进行本地开发
  • 使用ng build --base-href /assessment/构建角度应用。这将在dist文件中创建路由,因此可以使用prod。