Node.js 角6和业力';“无法加载”@角度devkit/build angular";,它没有注册';
我不得不迁移到最新的角度版本。在那之后,业力测试停止工作,并继续使用错误日志: 14 04 2018 14:17:00.453:错误[预处理]:无法加载“@angular devkit/build angular”,未注册! 也许你缺少一些插件 …\parkardrest ui\node\u modules\@angular devkit\build angular\src\angular cli files\plugins\packages\angular\u devkit\build\u angular\src\angular cli files\plugins\karma.ts:52 const options=config.buildWebpack.options; ^TypeError:无法读取未定义的属性“options” 在init(…\parkandrest ui\node\u modules\@angular devkit\build angular\src\angular cli files\plugins\packages\angular\u devkit\build\u angular\src\angular cli files\plugins\karma.ts:52:39) 在Array.invoke(…\parkandrest ui\node\u modules\di\lib\injector.js:75:15) 在Injector.get(…\parkandrest ui\node\u modules\di\lib\Injector.js:48:43) 在E:\Workspace\Training\spring boot tutorial\parkandrest ui\node\u modules\karma\lib\server.js:166:20 在Array.forEach()处 在服务器上。\开始(…\parkandrest ui\node\u modules\karma\lib\Server.js:165:21) 在Injector.invoke(…\parkandrest ui\node\u modules\di\lib\Injector.js:75:15) 在Server.start(…\parkandrest ui\node\u modules\karma\lib\Server.js:126:18) 反对 我的karma.conf.js文件如下所示:Node.js 角6和业力';“无法加载”@角度devkit/build angular";,它没有注册';,node.js,angular,karma-runner,Node.js,Angular,Karma Runner,我不得不迁移到最新的角度版本。在那之后,业力测试停止工作,并继续使用错误日志: 14 04 2018 14:17:00.453:错误[预处理]:无法加载“@angular devkit/build angular”,未注册! 也许你缺少一些插件 …\parkardrest ui\node\u modules\@angular devkit\build angular\src\angular cli files\plugins\packages\angular\u devkit\build\u a
module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', '@angular-devkit/build-angular'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular-devkit/build-angular/plugins/karma')
],
client:{
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
files: [
{ pattern: './src/test.ts', watched: false }
],
preprocessors: {
'./src/test.ts': ['@angular-devkit/build-angular']
},
mime: {
'text/x-typescript': ['ts','tsx']
},
coverageIstanbulReporter: {
dir: require('path').join(__dirname, 'coverage'), reports: [ 'html', 'lcovonly' ],
fixWebpackSourcePaths: true
},
angularCli: {
config: './angular.json',
environment: 'dev'
},
reporters: config.angularCli && config.angularCli.codeCoverage
? ['progress', 'coverage-istanbul']
: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
});
};
@angular devkit\build angular当然已安装。谢谢你的帮助
编辑:
我有一个解决方案,它实际上将我的问题的大部分用户答案与我自己的答案结合起来。首先,我将整个项目更新为稳定的angular 6版本。接下来,我生成了@R.Richards建议的空项目,然后我用新项目替换了旧项目中的几乎所有配置。最后,我遇到了一个问题@Suvendu警告我。我用他的解决方案解决了这个问题。不幸的是,我的环境(Intellij IDEA 2017.3.4 Ultimate)仍然存在一个问题,它不允许我直接从IDE启动业力测试(我有@Suvendu提到的相同错误),但是,这是下一个问题的主题 找不到模块“@angular devkit/build angular”
以下是我的项目的工作原理:
我希望这对你有用 尝试使用npm安装karma webpack,然后将其添加到插件阵列中-
plugins: [
...
require('karma-webpack'),
...
],
用这个替换预处理器-
preprocessors: {
'./src/test.ts': ['webpack']
},
这在我的情况下有效,并且也适用于以下预期的未来错误-
错误:“@angular devkit/build angular/plugins/karma”karma插件旨在从angular CLI内部使用,在其外部无法正常工作
希望这有帮助。我的解决方案有点不同,因为我必须移动karma.conf.js
@angular/cli
替换为@angular devkit/build angular
文件
和预处理器
配置。这些都是在angular.json中定义的,应该由@angular devkit karma插件自动处理李>
我随后对项目进行了干净的迁移,这为我解决了同样的问题。我的解决方案是将NODE_ENV环境变量设置为“production”。在尝试升级到Angular 6时,我没有意识到@Angular devkit/build Angular已列在我的devDependencies中,它未安装在生产环境中
运行“unset NODE_ENV”并从/etc/environment中删除NODE_ENV修复了我的问题。(注意:在实际生产环境中更改此变量时要小心)。在karma.conf.js中的插件部分添加以下库。这是用Angular8完成的
require(“@angular devkit/build angular/plugins/karma”)
我刚刚尝试了新的CLI(6.0.0-rc.4)和angular(6.0.0-rc.5)的新安装。测试顺利进行。也许你应该从一个新的应用程序(你在旁边创建)中获取一个karma.config.js,看看它是否适合你。在更改为@angular devkit后,你必须删除预处理器行。。。谢谢你this@hugo饥肠辘辘,我面临着报道的问题。正如在我的项目中一样,并非所有文件都显示覆盖范围。你能帮他理解为什么会这样吗?