2017-04-21 26 views
1

我們已經使用webpack 1.x一段時間了,沒有任何問題。按照遷移說明,我今天升級到2.4.1,一切似乎都很順利。升級後雖然沒有任何webpack代碼的作品。我沒有收到錯誤。只是沒有顯示。我的組件應該呈現的div是空的。升級後未運行的Webpack 2代碼

所以我添加了一些本應該運行的console.logs,並沒有顯示在控制檯中。然後,我找到了那些console.logs並添加了斷點,並且確實沒有出於某種原因運行代碼。

這裏是升級webpack.config.js文件內容:

花費數小時試圖解決這一問題,我發現了 webpack.optimize.CommonsChunkPlugin
var webpack = require("webpack"); 
var path = require("path"); 

module.exports = { 
    entry: { 
     index: './index.jsx' 
    }, 
    output: { 
     path: path.join(__dirname, 'js'), 
     filename: '[name].js' 
    }, 
    module: { 
     rules: [ 
      { 
       test: /\.jsx$/, 
       exclude: /node_modules/, 
       loader: 'babel-loader', 
       query: { 
        babelrc: false, 
        presets: [ 

         'react', 
         'stage-0' 
        ] 
       } 
      }, 
      { 
       test: /\.css$/, 
       use: [ 
        "style-loader", 
        "css-loader" 
       ] 
      } 
     ] 
    }, 
    resolve: { 
     extensions: [ '.js', '.jsx', '.css' ], 
     alias: { 
      "notification-js-root": __dirname + "/node_modules/notification-js" 
     } 
    }, 
    plugins: [ 
     new webpack.optimize.CommonsChunkPlugin('init.js') 
    ] 
}; 

回答

1

確定在的WebPack第2版已經改變。它會自動將.js添加到您使用的文件名中。

因此,它生成一個init.js.js文件,我加載了由webpack 1生成的舊init.js文件,這顯然不會導致後續代碼加載並顯示任何錯誤。

所以這個固定:new webpack.optimize.CommonsChunkPlugin('init')

+1

的WebPack的文件,錯誤消息,和配置,是出了名可怕= \ –