Webpack 2附带了新的解析设置,当我尝试修改config中的设置时,如下所示,webpackValidator抛出错误说
"模块"不允许"
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()
]
})
答案 0 :(得分:6)
正如webpack-validator项目的自述文件(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
resolveLoader.moduleTemplates
属性),否则不能再使用快捷方式'babel'而不是'babel-loader'。