问题
I'm trying to implement extract-text-webpack-plugin using webpack 2 and I'm building my webpack.config.js from scratch. When I wanted to add the plugin I followed the instructions on npm. This however gives me the following error:
TypeError: Cannot read property 'query' of undefined
I've looked around and didn't catch anyone else having the same problem with this plugin. I'd rather first ask if I've maybe made a mistake before assuming this is a bug.
My webpack.config.js is
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"),
],
};
and the full error is
/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)
回答1:
You're using an outdated version of extract-text-webpack-plugin
, this has been removed before the first release candidate of v2.0.0
. You probably have a beta version.
Install the latest version with:
npm install --save-dev extract-text-webpack-plugin@latest
Or with Yarn you can run:
yarn upgrade extract-text-webpack-plugin
回答2:
I had the exact same issue. Note that webpack 2.x only works with extract-text-plugin version 2.1.2 For webpack 3, use version 3.0.0
来源:https://stackoverflow.com/questions/42660422/cannot-read-property-query-of-undefined-extract-text-webpack-plugin