将Angular 2应用程序捆绑在ASP.NET项目的子文件夹中

时间:2017-03-29 06:58:16

标签: asp.net angular angular-cli

我在ASP.NET项目的子文件夹中有一个Angular 2应用程序,并希望使用How to bundle an Angular app for production

中的技术捆绑Angular 2应用程序

建议的方法是使用Angular CLI设置项目。但是我在使用这种方法时遇到了一些麻烦,因为它对项目结构做了一些假设。

假设Angular 2应用程序位于子文件夹/Angular2App/中,Angular CLI似乎希望index.html位于/Angular2App/src/中,并且当捆绑结果位于{ {1}}以及该文件夹/Angular2App/dist/中的所有引用都假定捆绑包位于index.html

但是我只想在/获得Angular 2应用程序。

关于如何以这种方式配置Angular CLI的任何想法?

2 个答案:

答案 0 :(得分:3)

在构建角度应用程序时应设置deployUrl,然后所有路径变量都将具有前缀/Angular2App/。例如;

ng build --deployUrl "/Angular2App/"

答案 1 :(得分:1)

使用base-href标志设置除root之外的基本URL。

ng build --base-href=/Angular2App/

来自Angular docs:

  

如果将文件复制到服务器子文件夹中,请附加构建标志,   --base-href并正确设置。

     

例如,如果index.html位于/my/app/index.html上的服务器上,   将基础href设置为这样。

     

ng build --base-href = / my / app /

     

您将看到已在生成的内容中正确设置   DIST / index.html中。

https://angular.io/guide/deployment