0

Ich habe ein Problem mit dem Upgrade auf Webpack 2 und das Extract-Text-Plugin. Ich habe die dev-Version (ohne dieses Plugin) funktioniert und ich kann nicht sehen, was anders ist. Der Fehler, den ich bekommen istWebpack 2 extrahieren Text-Plugin entropoints.length Probleme

node_modules\webpack\lib\Chunk.js:62 
      return this.entrypoints.length > 0; 

TypeError: Cannot read property 'length' of undefined 

Ich habe großen Schluck läuft webpack 2 und dieses Plugin für eine einzelne CSS-Datei. Dies ist der wichtigste Teil meines webpack config (glücklich, sie alle bieten, wenn erforderlich):

 ... 
    modules: { rules :[ ... { 
     test: /\.scss/, 
     exclude: /node_modules/, 
     use: [ 
      "style-loader?sourceMap", 
      { 
       loader: "css-loader", 
       options: { 
        minimize: true, 
        modules: true, 
        importLoaders: true, 
        localIdentName: "[path]___[name]__[local]___[hash:base64:5]", 
       }, 
      }, 
      { 
       loader: "postcss-loader", 
       options: { ...postCSSConfig }, 
      }, 
      { 
       loader: "sass-loader", 
       options: { includePaths: [path.join(process.cwd(), "src", "Styles", "Includes")] }, 
      }, 
     ], 
    }, ]}, 
    plugins: [ 
     new ExtractTextPlugin({ 
      filename: "[contenthash].css", 
      allChunks: true, 
     }), ... 

Im folgenden Versionen verwenden:

Webpack: 2.3.3

Extract Text plugn: 2,0 .1

bearbeiten: Hier ist mein Einstiegspunkt,

context: path.resolve(process.cwd(), "./src/"), 
entry: [ 
    "babel-polyfill", 
    "whatwg-fetch", 
    "Boot", 
], 
devtool: "eval", 
resolve: { 
    modules: ["src", "node_modules"], 
    extensions: [".js", ".jsx"], 
}, 

Irgendwelche Ideen wären toll. Vielen Dank im Voraus.

+0

Wo definieren Sie die Einstiegspunkte in Ihre Anwendung? –

+0

Ich denke dieser Fehler sagt Ihnen, dass Sie kein Eintragsskript für Webpack haben –

+0

Ich habe meine Frage bearbeitet. Ich verwende babel, um alles in Module zu laden. –

Antwort

0

Gemäß docs müssen Sie auch eine ordnungsgemäße Regel zum Laden von Stilen erstellen.

Bitte sehen Sie sich das an, es ist meine Regel. Bitte lassen Sie mich wissen, ob es Ihnen geholfen hat.

{ 
     test: /\.(scss|css)$/, 
     exclude: /node_modules/ 
     use: ExtractTextPlugin.extract({ 
      fallback: 'style-loader', 
      use: ['css-loader', 'postcss-loader', 'sass-loader'] 
     }) 
} 

Wie dem auch sei, aber ich habe es nicht geschafft ExtractTextPlugin mit sourceMaps zu verwenden, so kann ich Ihnen keine Lösung dieses Plugin mit Quellen Karten zu verwenden.

+0

Haben Sie jemals das ExtractTextPlugin hinzugefügt? Ich dachte daran, es jetzt wieder zu versuchen. Es waren ein paar Monate. Danke –

+0

Ja, ich benutze dieses Plugin, aber nicht auf Entwicklung, wegen der Probleme mit sourceMaps –

+0

Ich habe schließlich das Arbeiten mit ExtractTextPlugin in den Regeln wie Sie oben getan. Ich habe dann das Plugin für die Entwicklung in der Plugins-Sammlung deaktiviert. Dies arbeitete mit HMR und für den Aufbau auf CI. Danke für Ihre Hilfe. –