2017-01-09 43 views
1

的WebPack 2配備了新的決心的設置,當我嘗試修改配置設置,如下所示,webpackValidator拋出一個錯誤說「模塊」是不允許的錯誤

「模塊」是不允許的「

Error in Terminal

const config = webpackValidator({ 

    context: resolve('src'), 
    entry: './app.js', 
    output: { 
     filename: 'bundle.js', 
     path: resolve('dist'), 
     publicPath: '/dist/', 
     pathinfo: ifNotProd(), 
    }, 
    devtool: ifProd('source-map', 'eval'), 
    module: { 
     loaders: [ 
     { 
      test: /\.js$/, 
      loaders: ['babel'], 
      exclude: /node_modules/ 
     } 
     ] 
    }, 
    resolve: { 
     extensions: ['.js'], 
     modules: [ 
     resolve(__dirname, 'src'), 
     resolve(__dirname, 'node_modules') 
     ] 
    }, 
    plugins: [ 
     new DashboardPlugin() 
    ] 
    }) 

回答

3

作爲對的WebPack驗證器項目的自述文件中提到( npm & github),你應該認真考慮放棄使用這個包...

注:的WebPack V2內置的驗證進行配置。由於這個原因,webpack-validator不可能做出重大改變。雖然拉取請求將被審查並可以合併,但項目維護人員不太可能在維護項目時付出很多努力。

我有同樣的問題,並最終放棄了它的使用:Webpack 2引入了破壞性的更改,肯定不會跟隨webpack-validator項目。 Webpack 2中新的內置驗證配置現在已經足夠好了。

順便說一句,你的配置可能需要一些改進:

const config = { 

context: resolve('src'), 
entry: './app.js', 
output: { 
    filename: 'bundle.js', 
    path: resolve('dist'), 
    publicPath: '/dist/', 
    pathinfo: ifNotProd(), 
}, 
devtool: ifProd('source-map', 'eval'), 
module: { 
    rules: [ 
    { 
     test: /\.js$/, 
     use: ['babel-loader'], 
     exclude: /node_modules/ 
    } 
    ] 
}, 
resolve: { 
    extensions: ['.js'], 
    modules: [ 
    resolve(__dirname, 'src'), 
    resolve(__dirname, 'node_modules') 
    ] 
}, 
plugins: [ 
    new DashboardPlugin() 
] 
} 
  • module.loaders成爲module.rules
  • module.loaders.loaders成爲module.rules.use
  • 不能使用快捷鍵 '通天塔' 而不是「 babel-loader',除非你指定它(resolveLoader.moduleTemplates屬性)。
+0

此答案並不真正幫助用戶 – Nolwennig

+1

完全正確...編輯,希望這有助於...現在... –