angular - 如何部署一个 Angular 应用程序,使其在任何路径下都能工作?

标签 angular deployment web-deployment

这可能是一个新手问题,但我无法在这里或 Angular 文档中找到任何答案。 假设我有一个简单的 Angular 应用程序(例如 angular.io 教程中的 hero editor),我想分发它但还不知道它将在我的网络服务器上运行的路径。它可能在:

换句话说,我需要生成的源(index.html 及其 Angular 关联的 js 文件)在任何 路径下完全工作(我想这就是为什么相对路径用于.. .) 目前我生成的资源只有在我把它们放在我的服务器的根目录下才有效,因为

<base href="/"> 

npm deploy 可能已经在 index.html 中生成了...我天真地尝试将其更改为

<base href="./">

为了让我的浏览器将包含的 JS 文件的路径解释为相对于 index.html。有了这个,我的浏览器正确地找到了 JS 文件,但是 Angular 应用程序不再工作(空白页面......)。
知道这样做的正确“Angular 方式”应该是什么吗? 提前感谢您的帮助!

最佳答案

找到了一个适合我的解决方案并且看起来不太难看:

ng build --base-href "./"

关于angular - 如何部署一个 Angular 应用程序,使其在任何路径下都能工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44664188/

相关文章:

python - 使用 Flask 的 Apache Web 服务器,部署我的 Web 应用程序

angular cli 在启动服务器时显示错误

angular - 如何在 ionic 4 应用程序 ion-list 上放置一个简单的过滤器

iphone - 将 iPhone 应用程序部署到 AppStore

linux - 是否有必要为不同的用户运行多个 uWSGI 网站?

api - Web 部署 API(部署 .zip 包)说明

web-deployment - 在 wix 网站上显示 Python 代码和 Jupyter notebook

javascript - 如何根据响应代码在延迟后重试 Angular 发布请求

angular - 如何在 Angular 2 final 中扩展 Angular 2 http 类

deployment - 黑莓应用程序的企业分发