【发布时间】:2017-02-25 16:34:53
【问题描述】:
我想在我的 Angular 2 应用程序中为开发和生产使用不同的基本 href。
我看到了与这个问题相似(有些相同)的问题的答案。
这里的最佳答案很好地总结了在这些问题的所有答案中重复出现的 2 个解决方案:
Set base href from an environment variable with ng build
我都试过了,每个都有自己的问题:
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 之前添加一个在 head 中执行的脚本?
2) 使用不同的基本 href 值为开发和生产编译不同的 HTML,例如使用某种非常轻量级的 html 模板引擎,不会过大。
你怎么看?
【问题讨论】:
标签: javascript html angular