Cannot read property 'query' of undefined extract-text-webpack-plugin

只愿长相守 提交于 2019-12-10 14:12:38

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!