Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Q:通过Angular 2中的base href了解子目录(使用Angular cli)_Angular_Angular Cli - Fatal编程技术网

Q:通过Angular 2中的base href了解子目录(使用Angular cli)

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服务器上。应用

TL;DR:Angular 2应用程序中的应用程序根文件夹在哪里?在使用子目录时,如何使用
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
----[...]