我想实现提取文本webpack插件使用webpack 2,我从头开始构建我的webpack.config.js。当我想添加插件时,我按照npm上的说明操作。然而,这使我有以下错误:无法读取未定义的提取文本webpack插件属性'查询'
TypeError: Cannot read property 'query' of undefined
我环顾四周,并没有抓到任何人有这个插件同样的问题。我宁愿先问问在假设这是一个错误之前我是否犯了错误。
我webpack.config.js是
const path = require('path');
const webpack = require('webpack');
const ExtractTextPlugin = require("extract-text-webpack-plugin");
module.exports = {
context: path.resolve(__dirname, './src'),
entry: {
app: './main.js',
},
output: {
path: path.resolve(__dirname, './dist'),
filename: '[name].bundle.js',
},
module: {
rules: [
{
test: /\.js$/,
exclude: [/node_modules/],
use: [{
loader: 'babel-loader',
options: { presets: ['es2015'] }
}]
},
{
test: /\.(sass|scss)$/,
use: [
'style-loader',
'css-loader',
'sass-loader',
]
},
{
test: /\.css$/,
use: ExtractTextPlugin.extract({
fallback: "style-loader",
use: "css-loader"
})
}
]
},
plugins: [
new ExtractTextPlugin("styles.css"),
],
};
和完整的错误是
/node_modules/extract-text-webpack-plugin/index.js:134
if(!loader.query) return loader.loader;
^
TypeError: Cannot read property 'query' of undefined
at getLoaderWithQuery (/node_modules/extract-text-webpack-plugin/index.js:134:12)
at Array.map (native)
at Function.ExtractTextPlugin.extract (/node_modules/extract-text-webpack-plugin/index.js:201:4)
at Object.<anonymous> (/webpack.config.js:33:32)
at Module._compile (module.js:556:32)
at Object.Module._extensions..js (module.js:565:10)
at Module.load (module.js:473:32)
at tryModuleLoad (module.js:432:12)
at Function.Module._load (module.js:424:3)
at Module.require (module.js:483:17)
我假设按照他们的npm指南我会得到最新的版本?在“安装”下它说,对于webpack2; 'npm install --save-dev extract-text-webpack-plugin'''所以我认为那样会好的。谢谢! – Kevin
它应该,但如果你已经安装它,npm将尊重语义版本控制方案。所以如果它是一个确切的版本(没有'^'),它会停留在那个版本上。不完全是你所期望的。添加依赖项时,Yarn的行为会有所不同,并且将始终使用最新版本,而不管当前版本如何。 –
很酷,感谢您的额外信息 – Kevin