我使用Angular-CLI创建了一个新的Angular项目。
我使用的版本是:
Angular-Cli:1.0.2
Angular:4.0.0。
我已经在其中添加了很多代码但是现在,当我使用下面的命令构建我的项目时,我得到了大量的错误
ng build --target=production --env=staging
错误:
/src/app/views/signup/signup.component.html(21,86):Property' email'受到保护,只能在课堂上访问' SignUpComponent'及其子类。
/src/app/views/signup/signup.component.html(26,80):属性'密码'受到保护,只能在课堂上访问' SignUpComponent'及其子类。
有人可以在这方面帮助我,我该如何删除这些错误?当我省略--target=production
过去时,构建成功但是我遇到了一个问题,即没有指定目标浏览器缓存旧的部署版本,用户必须删除浏览器缓存以实现最新的更改/部署。
答案 0 :(得分:5)
您的电子邮件和密码属性是否定义为私有?它们是否在组件的模板中使用?然后他们需要从私人改为公共。
使用Angular CLI的生产模式时,会自动获得以下内容:
--aot
设置为true --output-hashing
设置为全部(指纹资产)--sourcemaps
设置为false --extract-css
设置为true(为全局样式创建真正的css文件,而dev将.js文件设置为重建优化)process.env.NODE_ENV
值替换模块中的production
(某些库需要这样做,比如反应)有关详情,请参阅此处:https://github.com/angular/angular-cli/pull/6232
最有可能产生这些错误的是aot编译器。 aot编译器在TypeScript中编译模板,因此会生成更多类型错误。另一种方法是使用--prod
而不是aot。
答案 1 :(得分:2)
您尝试在电子邮件和密码上设置公开可见性。