Q:通过Angular 2中的base href了解子目录(使用Angular cli)
TL;DR:Angular 2应用程序中的应用程序根文件夹在哪里?在使用子目录时,如何使用Q:通过Angular 2中的base href了解子目录(使用Angular cli),angular,angular-cli,Angular,Angular Cli,TL;DR:Angular 2应用程序中的应用程序根文件夹在哪里?在使用子目录时,如何使用ng build部署我的应用程序,并通过ng serve运行/开发它 此问题适用于AngularJS2 alpha beta版以外的使用网页的Angular>=2.4版本。在下面的示例中,我也使用not@angular/cli stackoverflow已经有一些关于的问题,但我不认为我理解了解决方案,或者我的问题得到了正确的回答 示例 我有一个项目,我的应用程序部署在sub/目录下的Web服务器上。应用
ng build
部署我的应用程序,并通过ng serve
运行/开发它
此问题适用于AngularJS2 alpha beta版以外的使用网页的Angular>=2.4版本。在下面的示例中,我也使用not@angular/cli stackoverflow已经有一些关于
的问题,但我不认为我理解了解决方案,或者我的问题得到了正确的回答
示例
我有一个项目,我的应用程序部署在sub/
目录下的Web服务器上。应用程序的
-元素当然是
。项目结构由angular cli生成,如下所示(请不要挑剔“/”)
当我通过ng build
构建项目,并将结果从dist/
文件夹复制到我的Web服务器(到sub/
)时,应用程序在mydomain/sub/
上运行良好。当我试图通过ng-serve
运行应用程序时,它似乎无法找到正确的命令来让应用程序在localhost/sub/
上运行。编辑任何配置文件或使用-lrbu
标志似乎都不会对我的构建产生影响
国家
如果应用程序文件夹是应用程序根目录,就像示例应用程序一样,请完全按照此处所示设置href值。
出现的第一个问题是:应用程序根文件夹在哪里
我假设应用程序根目录是我在application cli.json
中配置的src/
目录,但我不确定,因为app文件夹也可能是app/
然后,我尝试在添加实际的sub/
文件夹时更改目录,如
project/
--src/
----sub/
------app/
--------app.module
----assets/
----index.html
或
并编辑了一些具有有趣效果的*.config.json
文件。其中一个变体使我的应用程序能够按需要使用ng-serve
,但“中断”了我的部署,因为ng-build
会产生类似
dist/
--sub/
----assets/
----index.html
--main.bundle.js
--inline.bundle.js
--[...]
结果对我来说还行,不过我希望javascript块位于我的sub/
目录中。这可以通过更改application cli.json
中的outDir
属性来实现,但再次中断ng service
或导致
dist/
--sub/
----sub/
------assets/
------index.html
----main.bundle.js
----inline.bundle.js
----[...]
现在我真的不记得是什么让它对我起作用了,但我想知道这个问题的正确解决方案是什么
dist/
--sub/
----assets/
----index.html
--main.bundle.js
--inline.bundle.js
--[...]
dist/
--sub/
----sub/
------assets/
------index.html
----main.bundle.js
----inline.bundle.js
----[...]