的WebPack已使用的结构对象,该对象不匹配API模式

问题描述:

输入代码herenpm测试初始化​​;的WebPack已使用的结构对象,该对象不匹配API模式

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' 
 
     } 
 
    ] 
 
    } 
 
}

然后引发的错误。

karma start karma.conf.js

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

无法加载“webpack”!

+0

第一个是我的karma.config.js.and第二个是我的webpack.test.js –

首先,我没有看到config文件中提到的任何entey点,它是webpack理解从何处开始所需的。

其次在配置文件中HASE你的决心选项提到的三种解决和第一个是的WebPack不通过删除空字符串应该解决这个问题

希望这有助于你解决像现在这样空字符串问题。

+0

感谢您的提醒。它在我删除空字符串后工作,并且还将“条目”添加到我的配置中。 –

+0

如果它帮助你,请接受答案! –

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