NG服务于VirtualPath或子目录

时间:2017-08-17 20:17:25

标签: angular angular-cli

我们在IIS中运行角度应用程序作为虚拟应用程序“myapplication”

在我的angular app中,我在index.html中设置了:

<base href="/myapplication/"> 

它在IIS工作正常。但是现在NG服务不起作用。因为它无法在http://localhost/myapplication/下找到所有捆绑包,因为CLI未在该路径下运行。

我试过了

ng serve --base-href /myapplication/

并浏览到http://localhost:4200/myapplication/

我仍然看到同样的错误。

如何告诉CLI在“http://localhost:4200/myapplication/”下提供应用程序?

2 个答案:

答案 0 :(得分:2)

将基础href更改为:

<base href="/">

设置开发时间的默认值。

然后,当您为生产构建时,请使用:

ng serve --base-href /myapplication/

这将在构建部署文件时正确设置。

答案 1 :(得分:0)

如果要区分用于路由和资产的基本路径,可以同时使用--base-href--deploy-url

ng serve --base-href /myapplication --deploy-url /static

您现在可以在http:// localhost:4200 / myapplication上访问您的应用程序,而静态文件将从http:// localhost:4200 / static提供。

您还可以在workspace.json配置文件中将它们分别添加为baseHrefdeployUrl

大多数时间baseHref应该足够。