如何摆脱警告将原始 CLI 选项传递给`new Server(config, done)` 已弃用

问题描述

我最近将 Angular 应用中的 Karma 升级到了 v6.3.2。我正在运行 Angular v11。

当我开始测试时,我不断收到消息

不推荐将原始 CLI 选项传递给 new Server(config,done)。使用 parseConfig(configFilePath,cliOptions,{promiseConfig: true,throwErrors: true}) 准备已处理的 Config 实例并将其作为 config 参数传递。

测试成功

以下是我的 Karma 配置

// Karma.conf.js
const 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' ),require( 'karma-verbose-reporter')
];
const ChromeHeadlessNoSandBox = {
  base: 'ChromeHeadless',flags: [ '--no-sandBox' ]
};
// Karma configuration file,see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html

module.exports = function (config) {
  config.set({
    basePath: '',frameworks: ['jasmine','@angular-devkit/build-angular'],plugins,client: {
      clearContext: false // leave Jasmine Spec Runner output visible in browser
    },coverageIstanbulReporter: {
      dir: require('path').join(__dirname,'./coverage'),reports: ['html','lcovonly','text-summary'],fixWebpackSourcePaths: true
    },reporters: ['progress','kjhtml','verbose'],port: 9876,colors: true,logLevel: config.LOG_WARN,autoWatch: true,browsers: [ 'Chrome','ChromeHeadless','ChromeHeadlessNoSandBox'],customLaunchers: {
      ChromeHeadlessNoSandBox
    },singleRun: false,restartOnFileChange: true
  });
};

如何删除被警告的已弃用功能

解决方法

这个问题已经 reportedfixed,但不幸的是仅适用于 Angular 12。