angular-cli工具的--base-href和--deploy-url参数之间有什么区别

时间:2018-07-05 01:30:25

标签: angular angular-cli

Angular的文档通知我,当要将其部署在服务器的子文件夹中时,应该在用于生产的Angular应用程序构建中使用-base-href 参数:

  

如果将文件复制到服务器子文件夹,请附加build标志,   --base-href并进行适当设置。

     

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

https://angular.io/guide/deployment

但是,angular-cli具有-deploy-url 参数。该工具的文档将其描述为:

  

将在其中部署文件的URL。

https://github.com/angular/angular-cli/wiki/build

当应用程序要部署在服务器的子文件夹中时,我看到了使用--base-href的--deploy-url的解决方案。

问题

angular-cli工具的--base-href和--deploy-url参数之间有什么区别?我应该何时使用每个?

4 个答案:

答案 0 :(得分:16)

    正在使用
  • Base-href
  • 部署网址用于资产。

在大多数情况下,base-href就足够了。

请参阅这篇文章:

答案 1 :(得分:2)

要将我的脚本放入“ / test / app1 / script / ”文件夹中,请使用以下command

ng build --prod --base-href /test/app1/ --deploy-url /test/app1/script/

因此,我的应用可以从https://example.com/test/app1/访问,但是我的JS脚本和CSS位于https://example.com/test/app1/script/目录中。

答案 2 :(得分:0)

如果我想将/ users用作路由器的应用程序基础,并将/ public用作我的资产的基础。

p

有关详细示例,请参见Shekhar Gulati's博客

答案 3 :(得分:0)

我正在使用以下构建命令

ng build --prod --configuration=production --base-href / --deploy-url /assets/dist/

惰性模块也使用“ deploy-url”吗?

enter image description here