Angular 2:在子目录部署时未加载资产

10

我正在尝试将我的Angular 2应用程序部署在子目录中:我在Stack Overflow和Google上进行了搜索,并发现需要使用以下命令构建:

ng build -prod --base-href /angular-test --deploy-url /angular-test

但它仍然没有加载资产。

在检查中的网络下,调用资产是:

/assets/i18n/en.json

相反,应该是

/angular-test/assets/i18n/en.json

我需要做其他的事情吗?非常感谢任何帮助。


1
我也遇到了这个问题。但是给出的解决方案并没有起作用。我能做些什么其他的修复来解决我的代码问题吗? - DSK
请查看已接受答案的评论。 - Drunken Daddy
2个回答

11

我看到的大多数例子都是这种格式:

ng build --base-href /myUrl/

那么我认为你会需要这个:

ng build --prod --base-href /angular-test/

(带有尾随斜杠)


1
仍然无法工作。这是我放置的方式 - ng build -prod --base-href /angular-test/ --deploy-url /angular-test/ - Drunken Daddy
如果您需要任何其他细节,请告诉我。 - Drunken Daddy
你看到这里的讨论了吗:https://github.com/angular/angular-cli/issues/4517 - DeborahK
3
我已经让它工作了。问题是我在我的HTML中添加了'/../../assets'。我将其替换为'/assests'。感谢您指引我正确的方向。 - Drunken Daddy
基础 Href 的问题是它会影响每个 URL,以及 Angular 路由。 - albanx

4

../../../assets/images/example.jpg替换为./assets/images/example.jpg,然后它对我有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接