Angular ng build --target = production给出错误

Has*_*hif 2 production build angular-cli angular

我使用Angular-CLI创建了一个新的Angular项目.

我使用的版本是:

Angular-Cli:1.0.2

角度:4.0.0.

我已经在其中添加了很多代码但是现在,当我使用下面的命令构建我的项目时,我得到了大量的错误

ng build --target=production --env=staging

错误:

/src/app/views/signup/signup.component.html(21,86):属性'email'受到保护,只能在类'SignUpComponent'及其子类中访问.

/src/app/views/signup/signup.component.html(26,80):属性'password'受到保护,只能在类'SignUpComponent'及其子类中访问.

在这方面有人可以帮助我,我该如何删除这些错误?当我--target=production在过去省略BUT 时构建成功我遇到了一个问题,即没有指定目标浏览器缓存旧的部署版本,用户必须删除浏览器缓存以实现最新的更改/部署.

Deb*_*ahK 5

您的电子邮件和密码属性是否定义为私有?它们是否在组件的模板中使用?然后他们需要从私人改为公共.

使用Angular CLI的生产模式时,会自动获得以下内容:

  • --aot 设置为true
  • --output-hashing 设置为全部(指纹资产)
  • --sourcemaps 设置为false
  • --extract-css 设置为true(为全局样式生成真正的css文件,而dev将.js文件设置为重建优化)
  • 如果在CLI json中配置,则添加服务工作者
  • 使用值替换process.env.NODE_ENV模块production(这对于某些库来说是必需的,比如反应)
  • 在代码上运行uglify

有关更多信息,请参阅此处:https://github.com/angular/angular-cli/pull/6232

最有可能产生这些错误的是aot编译器.aot编译器在TypeScript中编译模板,因此会生成更多类型错误.所以另一种选择是使用--prod不带aot.