当前位置: 首页 > 知识库问答 >
问题:

Angular 6和karma“无法加载”@Angular-devkit/build-Angular“,它未注册”

璩俊雅
2023-03-14

我不得不迁移到最新的angular版本。在那之后,karma测试停止工作,只是继续用错误日志粉碎:

...\parkandrest-ui\node_module\@angular-devkit\build-angular\src\angular-cli-files\plugins\packages\angular_devkit\build_angular\src\angular-cli-files\plugins\karma.ts:52 const options=config.buildwebpack.options;^TypeError:无法读取在init(...\parkandrest-ui\node_modules\@angular-devkit\build-angular\src\angular-cli-files\plugins\packages\angular_devkit\build_angular\src\angular-cli-files\plugins\karma.ts:52:39)在array.injector.get(...\parkandrest-ui\node_module\di\lib\injector.js:75:15)在injector.get(...\parkandrest-ui\node_module\di\lib\injector.js:48:43)在e:\workspace\training\spring-boot-node_modules\karma\lib\server.js:166:20 at array.foreach()at server.start(...\parkandrest-ui\node_modules\karma\lib\server.js:165:21)at injector.invoke(...\parkandrest-ui\node_modules\di\lib\injector.js:75:15)at server.start(...\parkandrest-ui\node_modules\karma\lib\server.js:126:18)at object。

我的karma.conf.js文件如下所示:

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启动karma测试(我得到了@suvendu提到的相同错误),然而,这是下一个问题的主题。

共有1个答案

易波涛
2023-03-14

我的解决方案有点不同,因为我必须移动karma.conf.js。

  1. 更新所有依赖项并确保应用程序本身正常工作
  2. 如果尚未完成:在karma.conf.js
  3. 中,将每次出现的 @Angular/cli替换为 @Angular-devkit/build-Angular
  4. 从karma.conf.js中完全删除文件预处理器配置。这都是在angular.json中定义的,应该由@anguler-devkit karma插件自动处理。
 类似资料:
  • 14 04 2018 14:17:00.453:错误[预处理]:无法加载“@angular-devkit/build-angular”,它未注册!也许你错过了一些插件? …\parkandrest ui\node_modules\@angular-devkit\build-angular\src\angular cli文件\plugins\packages\angulal_devkit\ buil

  • 错误:在Angular CLI>6.0中,Karma插件现在由“@Angular-devkit/build-Angular”导出,而我得到的是这个错误 //Karma配置文件,请参阅链接以获取更多信息//https://karma-runner.github.io/1.0/config/configuration-file.html

  • 使用npm,我遵循Angular CLI快速入门页面上的入门说明。 角度CLI快速启动 在创建并进入我的新项目“前端”后,运行,出现以下错误: 我试过其他类似问题的建议,但没有效果。答案是运行npm安装--save dev@angular devkit/build angular。 类似问题 我还删除了模块,清除了缓存,然后安装了一个同样不起作用的模块。 package.json: angular

  • 使用npm,我遵循Angular CLI快速入门页面上的入门指导。 在创建并进入我的新项目“frontend”后,运行<code>ng serve--open<code>,出现以下错误: 类似的问题 我也删除了模块,清除了缓存,然后安装了一个也没有工作。 package.json: angular.json:

  • 错误:在Angular CLI中 //Karma配置文件,有关更多信息,请参阅链接//https://karma-runner.github.io/1.0/config/configuration-file.html module.exports=函数(配置){config.set({BasePath:",框架:['jasmine','@adang-devkit/build-角'],插件:[需要(

  • 更新到 Angular 6.0.1 后,我在 上收到以下错误: < code>ng update表示一切正常。删除< code>node_modules文件夹和全新的< code>npm安装也没有帮助。 我的项目基于ng2-admin(Angular4版本)。以下是我的package.json dependecies: 和我的angular.json: