Chunk.entrypoints:Chunks.groupsIterableを使用し、代わりにEntrypointのインスタンスでフィルタリングします


91

アプリを起動しようとすると、次のエラーが表示されます...

> css-modules@1.0.0 start /Users/johnnynolan/Repos/css-modules

webpack && open index.html

(node:5706) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
/Users/johnnynolan/Repos/css-modules/node_modules/webpack/lib/Chunk.js:802
        throw new Error(
        ^

Error: Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Entrypoint instead
    at Chunk.get (/Users/johnnynolan/Repos/css-modules/node_modules/webpack/lib/Chunk.js:802:9)
    at /Users/johnnynolan/Repos/css-modules/node_modules/extract-text-webpack-plugin/dist/index.js:176:48
    at Array.forEach (<anonymous>)
    at /Users/johnnynolan/Repos/css-modules/node_modules/extract-text-webpack-plugin/dist/index.js:171:18
    at AsyncSeriesHook.eval [as callAsync] (eval at create (/Users/johnnynolan/Repos/css-modules/node_modules/tapable/lib/HookCodeFactory.js:24:12), <anonymous>:7:1)
    at AsyncSeriesHook.lazyCompileHook [as _callAsync] (/Users/johnnynolan/Repos/css-modules/node_modules/tapable/lib/Hook.js:35:21)
    at Compilation.seal (/Users/johnnynolan/Repos/css-modules/node_modules/webpack/lib/Compilation.js:1203:27)
    at hooks.make.callAsync.err (/Users/johnnynolan/Repos/css-modules/node_modules/webpack/lib/Compiler.js:547:17)
    at _err0 (eval at create (/Users/johnnynolan/Repos/css-modules/node_modules/tapable/lib/HookCodeFactory.js:24:12), <anonymous>:11:1)
    at _addModuleChain (/Users/johnnynolan/Repos/css-modules/node_modules/webpack/lib/Compilation.js:1054:12)
    at processModuleDependencies.err (/Users/johnnynolan/Repos/css-modules/node_modules/webpack/lib/Compilation.js:980:9)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! css-modules@1.0.0 start: `webpack && open index.html`
    npm ERR! Exit status 1
    npm ERR! 
    npm ERR! Failed at the css-modules@1.0.0 start script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /Users/johnnynolan/.npm/_logs/2018-07-17T14_04_42_021Z-debug.log

css-modulesが何かをスローしている可能性があります。スタックトレース全体とwebpack構成を投稿する
PlayMa256 2018

「どうすればこれを解決できますか?」に沿って質問を編集することをお勧めします。「これを見たことがありますか?」の代わりに
エイミー

3
extract-text-pluginはWebpackv4では機能しません
IVOGELOV18年

回答:



82

ここのコメントのほとんどhttps://github.com/webpack-contrib/extract-text-webpack-plugin/issues/701は、代わり にextract-text-plugin変更することを示していmini-css-extract-pluginます。

https://github.com/webpack-contrib/extract-text-webpack-pluginのGithubリポジトリからextract-text-webpack-plugin

⚠️webpackv4以降、extract-text-webpack-pluginをcssに使用しないでください。代わりにmini-css-extract-pluginを使用してください。

頭の上 mini-css-extract-pluginのスワップに/それをアップグレードする方法について https://github.com/webpack-contrib/mini-css-extract-plugin


21

ええ、私はwebpackで同じ問題を抱えてい4.10.2ます。をに交換した後、問題は修正されextract-css-chunks-webpack-pluginましたmini-css-extract-pluginます。

webpackの設定変更は次のとおりです。

-const ExtractCssChunks = require('extract-css-chunks-webpack-plugin')
+const MiniCssExtractPlugin = require("mini-css-extract-plugin");

module.exports = {
  name: 'client',
  target: 'web',
  module: {
    rules: [
      {
        test: /\.css$/,
-       use: ExtractCssChunks.extract({
-         use: 'css-loader'
-       })
+       use: [
+         {
+           loader: MiniCssExtractPlugin.loader,
+         },
+         "css-loader"
+       ]
      }
    ]
  },
// 
// other config........
//
   plugins: [
-    new ExtractCssChunks(),
+    new MiniCssExtractPlugin({
+        filename: `components/[name].css`
+    }),
     //
     // other config........
     //
   ]

それが役立つことを願っています。


それは確かに上記の答え以上のものを助けました。ありがとうございました。
パオロステファン

7

のバージョン4.0.0-beta.0を使用してバグを修正しましたextract-text-webpack-plugin


4
4.0.0-beta.0に更新すると、私の問題も修正されました
JillAndMe 2018

VS Codeには4.xのオートコンプリートがなかったので、明示的なバージョンで別のGoogle検索を保存してくれてありがとう。
steven87vt

それはどのような道ですか?
Grald
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.