问题描述
我有一个使用Angluar CLI创建的虚拟多项目Angular工作空间,如此处https://angular.io/guide/creating-libraries所述,仅在我的工作空间中,我既拥有库又拥有应用程序,这意味着我执行了以下命令:
ng new my-workspace --create-application=false
cd my-workspace
ng generate library my-lib
ng generate application my-app
我想在json包中创建一个npm脚本,该脚本将创建库和应用程序的生产版本,因此在package.json
中我添加了:
"scripts":{
// other scripts here
"build-all-prod": "ng build my-lib --prod && ng build my-app --prod"
}
但是执行npm run build-all-prod
时我没有获得该库的产品版本。
如果上面的脚本中只有ng build my-lib --prod
,那么我将获得该库的prod版本。当切换ng build
命令的顺序时(也就是先ng构建应用程序,然后是lib),我还将获得库的产品构建。出于某种原因,--prod
参数似乎在&&
之前被忽略了。
我想念什么?
解决方法
好吧,问题不是不是--prod
被忽略,而是构建应用程序还重新构建了与Ivy兼容的库这一事实(使其成为非产品,因为不应该发布Ivy库。 )
有关更多信息,请参见此问题https://github.com/angular/angular/issues/38859