Webpack已使用与API架构不匹配的配置对象进行初始化

时间:2017-05-06 09:15:47

标签: jasmine karma-runner

输入代码herenpm test;

var webpackConfig = require('./webpack.test');
module.exports = function(config) {
  config.set({

    basePath: '',

    frameworks: ['jasmine'],

    files: [
      {pattern: './karma-shim.js', watched: false}

    ],

    exclude: [
    ],

    preprocessors: {
      './karma-shim.js': ['webpack']
    },

   webpack: webpackConfig,
    plugins:[
      'karma-jasmine',
      'karma-chrome-launcher',
      require("karma-webpack")
    ],
    proxies:{
      "/app/": "http://localhost:3000/src/app"
    },

    reporters: ['progress'],

    port: 9876,

    colors: true,

    logLevel: config.LOG_INFO,

    autoWatch: true,

    browsers: ['Chrome'],

    singleRun: false,

    concurrency: Infinity
  })
}

module.exports = {
  devtool: 'cheap-module-eval-source-map',
  resolve: {
    extensions: ['','.ts','.js']
  },

  module: {
    loaders: [
      //以.ts结尾的文件使用 TypeScript loader
      {test: /.ts$/,loader: 'awesome-typescript-loader'},
      {
        test:/\.html$/,
        loader: 'html'
      },
      {
        test:/\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
        loader: 'null'
      },
      {
        test:/\.css$/,
        loader: 'null'
      }
    ]
  }
}

然后抛出一个BUG。

  

karma start karma.conf.js

关键字if / then / else需要v5选项 WebpackOptionsValidationError:无效的配置对象。 Webpack已使用与API架构不匹配的配置对象进行初始化。   - configuration.entry应该是以下之一:    object {:string | [string]} |字符串| [串]    汇编的入口点。   - configuration.resolve.extensions [0]不应为空。

无法加载“webpack”!

2 个答案:

答案 0 :(得分:0)

首先,我没有看到配置文件中提到的任何entey点,这是webpack了解从哪里开始所必需的。

第二个你在配置文件中的解析选项hase提到了三种要解决的类型,第一个是空字符串,webpack不喜欢这样,通过删除那个空字符串它应该解决这个问题

希望这有助于您解决问题。

答案 1 :(得分:0)

我遇到了同样的问题,并通过将karma-webpack包更新到最新版本来解决。