Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 错误:t没有提供程序_Angular_Angular5 - Fatal编程技术网

Angular 错误:t没有提供程序

Angular 错误:t没有提供程序,angular,angular5,Angular,Angular5,我正试图通过ng build--prod将angular代码编译到生产模式,并获得了成功,但在浏览器中我得到了错误: ERROR p {__zone_symbol__error: Error: Uncaught (in promise): Error: NullInjectorError: No provider for t! 错误:NullInjectorError:…,…} 当我只运行ng build时,html工作正常 我尝试了git hub上提到的几个链接: 没有多大帮助 附加my

我正试图通过ng build--prod将angular代码编译到生产模式,并获得了成功,但在浏览器中我得到了错误:

ERROR p {__zone_symbol__error: Error: Uncaught (in promise): Error: NullInjectorError: No provider for t!
错误:NullInjectorError:…,…}

当我只运行ng build时,html工作正常

我尝试了git hub上提到的几个链接:

没有多大帮助

附加my Package.json文件内容:

{
“名称”:“xxx”,
“版本”:“0.0.0”,
“许可证”:“麻省理工学院”,
“角cli”:{},
“脚本”:{
“ng”:“ng”,
“开始”:“ng发球”,
“测试”:“ng测试”,
“pree2e”:“webdriver管理器更新--独立错误--gecko错误”,
“e2e”:“量角器”,
“build”:“ng build&&node server.js”,
“dev”:“ng build-w&nodemon server.js--watch dist--watch server”,
“生产”:“ng构建--prod&node server.js dist server”
},
“私人”:没错,
“依赖项”:{
“@angular/animations”:“~5.0.0”,
“@angular/common”:“~5.0.0”,
“@angular/compiler”:“~5.0.0”,
“@angular/compiler cli”:“~5.0.0”,
“@angular/core”:“~5.0.0”,
“@angular/forms”:“~5.0.0”,
“@angular/http”:“~5.0.0”,
“@angular/platform浏览器”:“~5.0.0”,
“@angular/platform browser dynamic”:“~5.0.0”,
“@angular/router”:“~5.0.0”,
“@jaspero/ng2警报”:“0.0.7”,
“axios”:“^0.17.0”,
“正文分析器”:“^1.18.2”,
“cookie解析器”:“^1.4.3”,
“核心js”:“^2.4.1”,
“以太坊JS tx”:“^1.3.3”,
“快车”:“^4.16.2”,
“快速会话”:“^1.15.6”,
“猫鼬”:“^4.12.6”,
“rxjs”:“^5.0.1”,
“ts助手”:“^1.1.1”,
“web3”:“^1.0.0-beta.24”,
“web3提供程序引擎”:“^13.3.3”,
“zone.js”:“^0.7.2”
},
“依赖性”:{
“@angular/cli”:“^1.5.0”,
“@angular/compiler cli”:“1.5.0”,
“@types/jasmine”:“2.5.38”,
“@types/node”:“^6.0.42”,
“codelyzer”:“~2.0.0-beta.1”,
“茉莉花芯”:“2.5.2”,
“jasmine spec reporter”:“2.5.0”,
“因果报应”:“1.2.0”,
“karma chrome启动器”:“^2.0.0”,
“karma cli”:“^1.0.1”,
“因果报应茉莉”:“^1.0.2”,
“因果报应重新映射伊斯坦布尔”:“^0.2.1”,
“量角器”:“~4.0.13”,
“ts节点”:“1.2.1”,
“tslint”:“^4.3.0”,
“类型脚本”:“2.4.2”
}

}
您试图使用的服务未在AppModule的
提供程序中列出。将服务添加到提供商列表中以使其正常工作。

您试图访问服务,但模块中未提供服务。

通过编辑文件禁用terser插件:

node_modules/@angular devkit/build angular/src/angular cli files/models/webpack configs/common.js

并指出:

extraMinimizers.push(new TerserPlugin({
  sourceMap: scriptsSourceMap,
  parallel: true,
  cache: true,
  terserOptions,
}));

使用ng build frontend--prod重新构建应用程序,您应该能够在控制台中看到无法注入的服务。

运行以下命令,首先查找缺少的服务依赖项。 在本地修复它,Prod build将自动工作


ng serve--prod--optimization=false

我不想放弃优化,因为捆绑包的大小增加了大约8倍

幸运的是,这是一件愚蠢的事情:)我在我的一个组件中有一个providers:[]部分,当我删除它时,错误已经消失了


希望这可能对某人有所帮助

错误:NullInjectorError:没有t的提供程序!(注意:仅对于错误,提供程序为“t”,如果它是另一个提供程序,则可能是因为没有声明app.module->provider[])

当我使用ng“ng build--prod”编译时,问题出现了,切换到“npm run build--prod”,问题就消失了


尝试使用另一个版本或npm编译。我遇到了“错误:NullInjectorError:没有t的提供程序!”问题,因为我在导入应用程序中的ReactiveFormsModule之前使用了FormBuilder。该模块用于,用于angular 2及更高版本。是否有
提供商中未提供的任何其他服务?是的,它是@jaspero/ng2 alerts提供的AlerService,在他们的文档中未提及。添加它使它工作。谢谢你,伙计。您可以添加您的答案。@PriyankGupta如何检查未添加的提供程序?我的意思是我有一个大的应用程序,所以很难检查所有的东西。你有什么提示吗,怎么做?这绝对是很棒的。我无法理解为什么这不是在angular或ionic中测试缺失模块的标准选项/标志。有一个标志:--optimization=False这正是我要找的。。在生产中,很难再确认出什么问题。谢谢:)你救了我一天@vigneshThank你,谢谢你,这是我处境的完美答案!