升级后的Webpack 2代码未运行

时间:2017-04-21 21:52:33

标签: webpack webpack-2

我们一直在使用webpack 1.x一段时间没有问题。我根据迁移说明今天升级到2.4.1,一切似乎都很好。升级后虽然没有任何webpack代码可以正常工作。我没有收到错误。什么也没有显示。我的组件应该呈现的div是空的。

所以我添加了一些应该运行的console.logs,并且控制台中没有显示任何内容。然后我找到了那些console.log并添加了断点,确实代码没有因为某些原因而被运行。

这是升级后的webpack.config.js文件内容:

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 个答案:

答案 0 :(得分:1)

在花了好几个小时试图解决这个问题后,我发现在{2}的webpack版本中webpack.optimize.CommonsChunkPlugin发生了变化。它会自动将.js附加到您使用的文件名中。

所以它生成了一个init.js.js文件,我正在加载webpack 1生成的旧init.js文件,这显然不会导致后续代码加载并且不显示任何错误。

所以这修好了它:new webpack.optimize.CommonsChunkPlugin('init')