我们一直在使用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')
]
};
答案 0 :(得分:1)
在花了好几个小时试图解决这个问题后,我发现在{2}的webpack版本中webpack.optimize.CommonsChunkPlugin
发生了变化。它会自动将.js附加到您使用的文件名中。
所以它生成了一个init.js.js文件,我正在加载webpack 1生成的旧init.js文件,这显然不会导致后续代码加载并且不显示任何错误。
所以这修好了它:new webpack.optimize.CommonsChunkPlugin('init')