Javascript 从webpack v1移动到v2
我正在尝试将我的代码从WebpackV1迁移到v2,并添加到sass加载程序中,但是出现了错误Javascript 从webpack v1移动到v2,javascript,webpack,Javascript,Webpack,我正在尝试将我的代码从WebpackV1迁移到v2,并添加到sass加载程序中,但是出现了错误 throw new WebpackOptionsValidationError(webpackOptionsValidationErrors); 我很困惑最终文件应该是什么样子: let webpack = require('webpack'); let path = require('path'); module.exports = { devtool: 'eval-source-ma
throw new WebpackOptionsValidationError(webpackOptionsValidationErrors);
我很困惑最终文件应该是什么样子:
let webpack = require('webpack');
let path = require('path');
module.exports = {
devtool: 'eval-source-map',
entry: [
'./src/index'
],
module: {
rules: [
{
test: /\.scss$/,
use: [
"style-loader", // creates style nodes from JS strings
"css-loader", // translates CSS into CommonJS
"sass-loader" // compiles Sass to CSS
]
}],
test: /\.js?$/,
loader: 'babel-loader',
exclude: /node_modules/
},
resolve: {
extensions: ['.js'],
options: {
enforceExtension: false
}
},
output: {
path: path.join(__dirname, '/dist'),
publicPath: '/',
filename: 'bundle.js'
},
devServer: {
contentBase: './dist',
hot: true,
historyApiFallback: true
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin(),
new webpack.LoaderOptionsPlugin({
debug: true,
options: {
context: __dirname
}
})
]
};
目前,代码是两个版本的混合。我使用的是网页包版本2.2.1。谢谢。有几件事你需要改变: 您的
测试:/\.js?$/
和相应的加载程序
和排除
应该是规则
数组中的另一个对象:
module: {
rules: [
{
test: /\.scss$/,
use: [
"style-loader", // creates style nodes from JS strings
"css-loader", // translates CSS into CommonJS
"sass-loader" // compiles Sass to CSS
]
},
{
test: /\.js?$/,
loader: 'babel-loader',
exclude: /node_modules/
}
]
},
resolve.options
不存在,它只是直接:
resolve: {
extensions: ['.js'],
enforceExtension: false
},
最后,尽管这不是一个错误,只是一个警告,new webpack.NoErrorsPlugin()
已被弃用,并已替换为:
new webpack.NoEmitOnErrorsPlugin()
另外,如果您还没有,您应该看看官方文档中的迁移指南