2017-03-07 1 views
5

Ich versuche, Extract-Text-Webpack-Plugin mit Webpack 2 zu implementieren, und ich baue meine webpack.config.js von Grund auf neu. Als ich das Plugin hinzufügen wollte folgte ich den Anweisungen auf npm. Dies gibt mir aber folgende Fehlermeldung:Kann die Eigenschaft 'Abfrage' von undefiniertem Extract-Text-Webpack-Plugin nicht lesen

TypeError: Cannot read property 'query' of undefined

ich mich umsah habe und nicht fangen jemand anderes mit diesem Plugin mit dem gleichen Problem. Ich würde eher fragen, ob ich vielleicht einen Fehler gemacht habe, bevor ich annahm, dass dies ein Fehler ist.

Mein 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"), 
    ], 
}; 

ist und die volle Fehler ist

/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) 

Antwort

8

Sie eine veraltete Version von extract-text-webpack-plugin verwenden, dies vor dem ersten Release Candidate wurde von entfernt v2.0.0. Sie haben wahrscheinlich eine Beta-Version.

Installieren Sie die neueste Version mit:

npm install --save-dev [email protected] 

Oder mit Yarn können Sie laufen:

yarn upgrade extract-text-webpack-plugin 
+0

Ich nahm an, indem ich ihrem Führer auf npm folgte, würde ich die neueste Version bekommen? unter "install" steht, für webpack2; '' 'npm install --save-dev extrakt-text-webpack-plug''' so nahm ich an, dass das in Ordnung wäre. Vielen Dank! – Kevin

+0

Es sollte, aber wenn Sie es bereits installiert hatten, respektiert npm das semantische Versionierungsschema. Wenn es also eine exakte Version (ohne '^') ist, wird es bei dieser Version bleiben. Ist nicht genau das, was Sie erwarten würden. Garn verhält sich beim Hinzufügen einer Abhängigkeit anders und verwendet unabhängig vom aktuellen immer die neueste Version. –

+0

Cool, danke für die Zusatzinfo – Kevin

0

ich genau das gleiche Problem hatte. Beachten Sie, dass webpack 2.x nur mit extract-text-plugin Version 2.1.2 funktioniert. Verwenden Sie für webpack 3 Version 3.0.0

Verwandte Themen