//webpack.config.js -- shortened for convenience
const
ExtractTextPlugin = require("extract-text-webpack-plugin"),
extractSass = new ExtractTextPlugin({
filename: "Css/[name].css",
allChunks: true
}),
//…
config: {
module: {
rules: [
//…
{
test: /\.scss$/,
use: extractSass.extract([ 'css-loader', 'sass-loader' ])
}
//…
]
},
plugins: [
extractSass
]
}
module.exports = config;
When used:
0% compiling(node:333) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
(node:333) DeprecationWarning: Tapable.apply is deprecated. Call apply on the plugin directly instead
77% module and chunk tree optimization unnamed compat plugin/xxx/node_modules/webpack/lib/Chunk.js:460
throw new Error(
^
Error: Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Entrypoint instead
at Chunk.get (/xxx/node_modules/webpack/lib/Chunk.js:460:9)
at /xxx/node_modules/extract-text-webpack-plugin/dist/index.js:176:48
at Array.forEach (<anonymous>)
at /xxx/node_modules/extract-text-webpack-plugin/dist/index.js:171:18
at AsyncSeriesHook.eval [as callAsync] (eval at create (/xxx/node_modules/tapable/lib/HookCodeFactory.js:24:12), <anonymous>:12:1)
at AsyncSeriesHook.lazyCompileHook [as _callAsync] (/xxx/node_modules/tapable/lib/Hook.js:35:21)
at Compilation.seal (/xxx/node_modules/webpack/lib/Compilation.js:881:27)
at hooks.make.callAsync.err (/xxx/node_modules/webpack/lib/Compiler.js:464:17)
at _err0 (eval at create (/xxx/node_modules/tapable/lib/HookCodeFactory.js:24:12), <anonymous>:11:1)
at _addModuleChain (/xxx/node_modules/webpack/lib/Compilation.js:749:12)
at processModuleDependencies.err (/xxx/node_modules/webpack/lib/Compilation.js:688:9)
at process._tickCallback (internal/process/next_tick.js:150:11)
That setup was working until webpack v4. Disabling the plugin makes the error disappear. I found that webpacks plugin system has changed, but I could not figure out how to fix that error.
As described here, the Problem is that the extract-text-webpack-plugin
needs to be upgraded in order to work with webpack v4
. So:
npm install extract-text-webpack-plugin@next
will most certainly solve the problem.
It appears that extract-text-webpack-plugin is deprecated for Webpack v4. See the README, which says:
⚠️ Since webpack v4 the extract-text-webpack-plugin should not be used for css. Use mini-css-extract-plugin instead.
This issue The Future of this Plugin vs. Mini CSS Extract Plugin provides more info about the deprecation.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With