Angular 分块/转译文件的构建集目标
Angular build set target for chunked / transpiled files
我们正在使用 angular 6.
我想创建另一个 angular 应用程序并放入同一个域中,这里是示例
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.html 中插入以下文件
main.js
vendor.js
styles.js
等等
现在来自 example.com/app2/
的 main.js
的请求将转到 example.com/main.js
因为 angular 构建过程会自动在 index.html 中添加 main.js
有没有办法说 angular 我的应用需要添加 <script type="text/javascript" src="/app2/main.foo.js"></script>
而不是添加 <script type="text/javascript" src="main.foo.js"></script>
我知道这可以在构建过程中完成。但这些不是唯一的文件。有 webpack 动态引用和下载的块文件。这些参考也需要改变。
此外,开发人员使用开发服务器而不是构建流程。因此,此路径更改也需要成为开发构建的一部分。
所以问题是,有没有办法设置这些自动生成的文件(包括 webpack 块)的路径?
P.S。
我使用 angular 6 但 app2 可以升级到 angular 9/10.
您只需添加
ng build --prod --base-href /app2/
进入你的构建命令,
或者我很确定您可以在 build.options.baseHref
下的 angular.json 中配置它
关于开发服务器,我不确定为什么这很重要。所以我需要更多关于你想要完成的事情的细节。如果您希望同时 运行 两个项目,那就另当别论了,因为您不能让两个本地服务器监听 4200。
我们正在使用 angular 6.
我想创建另一个 angular 应用程序并放入同一个域中,这里是示例
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.html 中插入以下文件
main.js
vendor.js
styles.js
等等
现在来自 example.com/app2/
的 main.js
的请求将转到 example.com/main.js
因为 angular 构建过程会自动在 index.html 中添加 main.js
有没有办法说 angular 我的应用需要添加 <script type="text/javascript" src="/app2/main.foo.js"></script>
<script type="text/javascript" src="main.foo.js"></script>
我知道这可以在构建过程中完成。但这些不是唯一的文件。有 webpack 动态引用和下载的块文件。这些参考也需要改变。
此外,开发人员使用开发服务器而不是构建流程。因此,此路径更改也需要成为开发构建的一部分。
所以问题是,有没有办法设置这些自动生成的文件(包括 webpack 块)的路径?
P.S。 我使用 angular 6 但 app2 可以升级到 angular 9/10.
您只需添加
ng build --prod --base-href /app2/
进入你的构建命令, 或者我很确定您可以在 build.options.baseHref
下的 angular.json 中配置它关于开发服务器,我不确定为什么这很重要。所以我需要更多关于你想要完成的事情的细节。如果您希望同时 运行 两个项目,那就另当别论了,因为您不能让两个本地服务器监听 4200。