来自环境变量的Angular 2 base href

Roy*_*hal 4 html javascript angular

我希望在我的Angular 2应用程序中为开发和生产提供不同的基础href.

我已经看到了与这个问题类似(并且有些相同)的问题的答案.

这里最好的答案总结了在这些问题的所有答案中重复的2个解决方案:

使用ng build从环境变量设置基本href

我试过两个,每个都有自己的问题:

1)APP_BASE_HREF - 不适用于js/css文件.例如,当尝试请求app/someroute/1时,它将尝试从app/someroute/1而不是app中请求js和css文件.

2)修改ngOnInit中的基本href - 在调用ngOnInit时,已经请求了js和css文件,因此修改后的基本href不适用于init上加载的文件,仅适用于之后请求的文件(不是帮帮我).

到目前为止,对我来说唯一有用的是在每次编译后手动修改html以进行生产,但我正在尝试自动化它.

可能的解决方案:

1)在请求js和css文件之前改变基本href - 有没有办法做到这一点?它们基本上是在页面加载时立即请求的.可能添加在链接rel之前在头部执行的脚本?

2)使用不同的基本href值编译开发和生产的不同HTML,例如使用某种非常轻量级的html模板引擎,这不会是一种过度杀伤力.

你怎么看?

Roy*_*hal 7

我发现有一个cli选项(由社区请求)--base-href.

我只是为这样的生产而建造:

ng build --prod --base-href =/prod_dir /