我们正在使用角度 6。
我想创建另一个角度应用程序并放入同一个域中,这里的示例example.com
是主应用程序,我的新应用程序将托管在example.com/app2/
这是我的 apache 配置的样子
<VirtualHost>
ServerName example.com
...
ProxyPass /app2/ http://app2-server:4200/
ReverseProxyPass /app2/ http://app2-server:4200/
ProxyPass / http://main-app-server:4200/
ReverseProxyPass / http://main-app-server:4200/
...
</VirtualHost>
现在,当我尝试访问新应用程序时,会产生下载文件的问题,因为 angular 应用程序将在 index.htmlmain.js
vendor.js
styles.js
等中插入以下文件。
现在main.js
from的请求example.com/app2/
会去,example.com/main.js
因为 angular 构建过程会自动添加main.js
到 index.html
有没有办法说角度而不是添加<script type="text/javascript" src="main.foo.js"></script>
我的应用程序需要添加<script type="text/javascript" src="/app2/main.foo.js"></script>
我知道这可以在构建过程中完成。但这些并不是唯一的文件。有 webpack 引用和动态下载的块文件。这些参考也需要改变。
开发人员也使用 dev-server 而不是构建流程。因此,此路径更改也需要成为 dev-build 的一部分。
所以问题是,有没有办法设置这些自动生成的文件(包括 webpack 块)的路径?
PS 我使用 angular 6 但 app2 可以升级到 angular 9/10。
你可以添加
ng build --prod --base-href /app2/
进入你的构建命令,或者我很确定你可以在 build.options.baseHref 下的 angular.json 中配置它
关于开发服务器,我不确定为什么这很重要。所以我需要更多关于你想要完成什么的细节。如果您希望同时运行两个项目,那就是另一回事了,因为您不能让两台本地服务器在 4200 上监听。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句