我有一个项目从Angular4升级到6。
一切都很好,但是ng test无法正常工作:
ERROR [karma-server]: Server start failed on port 9876: Error: No provider for "framework:@angular/cli"! (Resolving: framework:@angular/cli)
请帮忙
karma.conf.js
// Karma configuration file, see link for more information
// https://karma-runner.github.io/0.13/config/configuration-file.html
module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', '@angular/cli' , '@angular-devkit/build-angular'],
files: [
{pattern: './node_modules/@angular/material/prebuilt-themes/indigo-pink.css', included: true, watched: true}
],
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
},
coverageIstanbulReporter: {
dir: require('path').join(__dirname, 'coverage'), reports: [ 'html', 'lcovonly' ],
fixWebpackSourcePaths: true
},
reporters: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
autoWatchBatchDelay: 3000,
browsers: ['Chrome'],
singleRun: false,
customLaunchers: {
ChromeHeadless: {
base: 'Chrome',
flags: [
// See https://chromium.googlesource.com/chromium/src/+/lkgr/headless/README.md
'--headless',
'--disable-gpu',
// Without a remote debugging port, Google Chrome exits immediately.
'--remote-debugging-port=9222',
],
}
}
});
};
您需要@angular-devkit/build-angular
使自己的业力起作用。
首先,请确保您在karma.conf.js
:
frameworks: ['jasmine', '@angular-devkit/build-angular'],
和您的要求:要求 ('@angular-devkit/build-angular/plugins/karma')
然后使用该命令将其添加到您的开发依赖项中:
npm install @angular-devkit/build-angular --save-dev
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句