我使用 Angular-CLI 创建了一个新的 Angular 项目。
我使用的版本是:
Angular-Cli:1.0.2
角度:4.0.0。
我在其中添加了很多代码,但是现在,当我使用下面的命令构建我的项目时,我收到了一堆错误
ng build --target=production --env=staging
Errors:
/src/app/views/signup/signup.component.html (21,86):属性“email”受到保护,只能在类“SignUpComponent”及其子类中访问。
/src/app/views/signup/signup.component.html (26,80):属性“password”受到保护,只能在类“SignUpComponent”及其子类中访问。
有人可以在这方面帮助我如何消除这些错误吗?当我省略时构建成功--target=production
但过去我遇到的问题是,如果不指定目标浏览器缓存旧的部署版本,用户必须删除浏览器缓存才能实现最新的更改/部署。
您的电子邮件和密码属性是否被定义为私密?它们是否在组件的模板中使用?然后它们需要从私有更改为公共。
当您使用 Angular CLI 的生产模式时,您会自动获得以下内容:
-
--aot
设置为 true
-
--output-hashing
设置为全部(指纹资产)
-
--sourcemaps
设置为 false
-
--extract-css
设置为 true (为全局样式创建真正的 css 文件,而 dev 为重建优化创建 .js 文件)
- 如果在 CLI json 中配置,则添加 Service Worker
- 取代
process.env.NODE_ENV
在模块中production
值(某些库需要此值,例如反应)
- 在代码上运行 uglify
请参阅此了解更多信息:https://github.com/angular/angular-cli/pull/6232 https://github.com/angular/angular-cli/pull/6232
aot 编译器最有可能生成这些错误。 aot 编译器在 TypeScript 中编译模板,因此会生成更多类型错误。所以另一种选择是使用--prod
没有 aot。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)