Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了【Angular项目生产环境构建问题集锦1】--ERROR in Type XX is part of the declarations of 2 modules;大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

生产环境构建命令:

项目中用output-path命令改变了构建后的输出文件名称

ng build --prod --output-path=prod --base-href ./

详细错误信息示例:

关注点:

遇到此类问题请将你的关注点放在图片上三个框的位置,和错误信息里最重要的这句话。

解决方案:

我们的关注点找对了之后就可以分析出来: SafeHtmlPipe组件在两个模块里面被声明引用了,但是这两个模块之间存在着级联关系,也可简单理解为父子关系,所以我们要移除掉在子模块中的引用,只保留更高一级的父模块中的引用,就可以避免此类问题的发生.本项目中R_279_11845@yNoticeModule是高一级的父模块,NoticeListModule是在其中嵌套的子模块,所以我们要移除掉NoticeListModule中对SafeHtmlPipe组件的声明和引用.

  • 移除顶部的import { SafeHtmlPipe } from XXX…
  • 移除@NgModule中declarations:[] ; 中对组件的声明.

- -prod构建的优化特性:

  • 预(AOT)编译:预编译 Angular 组件的模板。
  • 生产模式:启用生产模式部署到生产环境。
  • 打捆(Bundle):把这些模块串接成一个单独的捆文件(bundle)。
  • 最小化:移除不必要的空格、注释和可选令牌(Token)。
  • 混淆:使用短的、无意义的变量名和函数名来重写代码
  • 消除死代码:移除未引用过的模块和未使用过的代码.

总结:

使用–prod构建时候会根据既定要求进行优化,许多开发环境里我们写代码没有暴露出来的问题都随之而来.生产级别的构建不同于开发环境和测试环境的构建,对程序性能要求极高,带来的是对代码规范和质量的要求极其严格,因为构建时会将与生产环境无关的东西都移除掉来保证缩小近三分之二的体积.

大佬总结

以上是大佬教程为你收集整理的【Angular项目生产环境构建问题集锦1】--ERROR in Type XX is part of the declarations of 2 modules;全部内容,希望文章能够帮你解决【Angular项目生产环境构建问题集锦1】--ERROR in Type XX is part of the declarations of 2 modules;所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。