2016-09-21 39 views

回答

9

目前v1.0.0您只能选择您要通过以下命令来构建应用程序:

ng build -a appName

ng build --app appName

,你还需要name属性添加到每个元素在apps阵列,所以你会有这样的事情:

"apps": [ { "name": "app1", "root": "src/app1root", ... }, { "name": "app2", "root": "src/app2root", ... }, ... ]

,你也可以在你不需要指定应用程序的名称这种情况下使用应用程序的索引像ng build -a 0ng build -a 1

从角CLI sorces你可以看到,有没有可能在运行一个命令所有的应用程序,您应该指定指数无论是应用程序的名称,否则apps[0]将被使用,所以你不能在同一构建所有的应用程序时间使用一个ng build电话。

5

我搜索了angular-cli源代码,但找不到任何代码的引用,这些代码将迭代或以其他方式检查apps的内容作为数组。

截至目前(angular-cli版本1.0.0-beta.15),处理apps的每个代码实例都使用硬编码数组的第一个元素(apps[0])。似乎没有办法选择应用程序来构建或更改使用数组第一个元素的默认行为。

的JSON模式为apps元这样描述:在这个项目中的不同应用的

属性。

/** 
* Properties of the different applications in this project. 
*/ 
apps?: { 
    root?: string; 
    outDir?: string; 
    assets?: string; 
    index?: string; 
    main?: string; 
    test?: string; 
    tsconfig?: string; 
    prefix?: string; 
    mobile?: boolean; 
    /** 
    * Global styles to be included in the build. 
    */ 
    styles?: string[]; 
    /** 
    * Global scripts to be included in the build. 
    */ 
    scripts?: string[]; 
    /** 
    * Name and corresponding file for environment config. 
    */ 
    environments?: { 
     [name: string]: any; 
    }; 
}[]; 

这似乎是该项目支持建立多个应用了相同的代码库的未来意图,但它并不像它是正确的事情,现在是可行的(1.0.0版本beta.15 )。

+0

好的,我将离开这个问题,希望angular-cli开发人员在不久的将来实现它。 – Readren

+1

我觉得有棱角的cli缺乏文档干扰 – Kamaruni

+0

@Kamaruni我也这么认为。我的希望是,他们会随着时间的推移变得更好,特别是现在角2决赛已经结束。至少有Github页面:https://github.com/angular/angular-cli不要忘记Wiki:https://github.com/angular/angular-cli/wiki –

2

仍有不ng build --app建立所有应用程序使用一个命令,来解决这个问题是创建的Makefile文件在项目的根所以最好的方式任何标志:

my-app 
    --dist/ 
    --e2e/ 
    --src/ 
    .angular-cli.json 
    package.json 
    Makefile 

Makefile文件允许组织根据您提供的说明进行代码编译。 因此,我们需要提供指令,将所有应用程序的前端构建到输出目录中。 现在的Makefile文件是这样的:上面

help: 
    @echo "_______BUILD ANGULAR FRONTEND______\n" 
    @echo "To build all apps run make make build-frontend" 

build-frontend: 
    ng build -a=0 &&\ 
    ng build -a=1 

您但是经过复制粘贴代码,改变空间的设置选项卡。否则,你会得到无效的Makefile *** missing separator error

导航到根项目,只是为了测试,在终端中输入make,你应该得到帮助信息打印。此类型之后:

make build-frontend 

现在,您只有一个命令即可构建多个应用程序。

相关问题