gpt4 book ai didi

angular - 在项目 'production' 中找不到配置 'my-lib'

转载 作者:太空狗 更新时间:2023-10-29 17:00:36 26 4
gpt4 key购买 nike

我正在使用 Angular 6.1.0 构建一个库

  • ng 新的 lib-demo
  • ng 生成库 my-lib

所有文章都建议使用 --prod 标志运行库的构建,如下所示:

ng build my-lib --prod

然而,这会引发错误

Configuration 'production' could not be found in project 'my-lib'.

这可能是正确的,因为当我查看 angular.json 时,库项目中没有定义生产构建配置。它仅适用于应用程序项目。

以下是我在使用 ng-packagr

的库项目的构建配置下的内容
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"options": {
"tsConfig": "projects/my-lib/tsconfig.lib.json",
"project": "projects/my-lib/ng-package.json"
}
}

所以这里的问题是不再需要 --prod 标志,只需运行 ng build m-lib 就会生成 prod 构建?

查看 dist 文件夹的内容看起来是这样,但我不是 100% 确定。如果有人可以验证这一点,那就太好了。

最佳答案

从 6.1 版开始,Angular 总是对我们的库进行生产构建,即在新版本的 Angular 中,我们在构建它时不再需要 --prod 标志,库总是被构建在 AOT 模式下。为确保安全,您可以查看 Angular-CLI 存储库中的这些问题:

https://github.com/angular/angular-cli/issues/12290

https://github.com/angular/angular-cli/issues/12226

还有这篇文章(“构建图书馆” 部分):

https://blog.angularindepth.com/creating-a-library-in-angular-6-87799552e7e5

如果您仍在使用 6.0.x(或更低版本),您将希望在构建库时使用 --prod 标志。

如果需要,您仍然可以选择将 configuration 作为参数传递:ng build --configuration=configuration(请参阅 docs)。如有必要,您可以在 angular.json 中指定构建规则,例如,对于 production 构建:

"configurations": {
"production": {
// Options here
}
}

命令应该是ng build --configuration=production

关于angular - 在项目 'production' 中找不到配置 'my-lib',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52319576/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com