首页 文章

webpack init试图使用不支持的extract-text-webpack-plugin

提问于
浏览
2

使用ASP.NET Core和Webpack创建一个新的Web项目时,我会收到关于 extract-text-webpack-plugin 的纱线依赖性警告 .


我重现的步骤:

  • dotnew new web

  • yarn init

  • yarn add --dev webpack webpack-cli

  • webpack init

将显示以下警告消息:

warning“> extract-text-webpack-plugin@3.0.2”具有错误的对等依赖“webpack@^3.1.0” .

  • webpack

显示以下错误消息:

(node:19320)DeprecationWarning:不推荐使用Tapable.plugin . 在'.hooks'上使用新的API而不是D:\ SRC \ MISC \ WebpackTest \ node_modules \ webpack \ lib \ Chunk.js:460抛出新错误(^错误:Chunk.entrypoints:使用Chunks.groupsIterable并通过instanceof Entrypoint过滤在Chunk.get(D:\ SRC \ MISC \ WebpackTest \ node_modules \ webpack \ lib \ Chunk.js:460:9)的D:\ SRC \ MISC \ WebpackTest \ node_modules \ extract-text-webpack-plugin \ dist \ index.js:176:48在Array.forEach()的D:\ SRC \ MISC \ WebpackTest \ node_modules \ extract-text-webpack-plugin \ dist \ index.js:171:18 at AsyncSeriesHook.eval [as callAsync] (eval at create(D:\ SRC \ MISC \ WebpackTest \ node_modules \ tapable \ lib \ HookCodeFactory.js:24:12),:7:1)在AsyncSeriesHook.lazyCompileHook [as _callAsync](D:\ SRC \ MISC \ WebpackTest \ node_modules \ tapable \ lib \ Hook.js:35:21)在hooks.make.callAsync上的Compilation.seal(D:\ SRC \ MISC \ WebpackTest \ node_modules \ webpack \ lib \ Compilation.js:881:27) .err(D:\ SRC \ MISC \ WebpackTest \ node_modules \ webpack \ lib \ Compiler.js:464:17)位于_err0(创建时为eval(D:\ SRC \ MISC \ WebpackTest \ node_modules \ tapabl) e \ lib \ HookCodeFactory.js:24:12),:11:1)在processModuleDependencies.err(D)处的_addModuleChain(D:\ SRC \ MISC \ WebpackTest \ node_modules \ webpack \ lib \ Compilation.js:749:12) :\ SRC \ MISC \ WebpackTest \ node_modules \ webpack \ lib \ Compilation.js:688:9)at process._tickCallback(internal / process / next_tick.js:150:11)


当前版本的webpack纱线正在拉下来:

"devDependencies": {
  "webpack": "^4.1.1",
  "webpack-cli": "^2.0.10"
},

我知道 extract-text-webpack-plugin 还不支持Webpack 4所以我很好奇为什么 webpack init 试图包含它 . 有没有替代 extract-text-webpack-plugin 或者是回滚到Webpack 3的唯一解决方法?

3 回答

  • 5

    在使用 webpack-cli 提升an issue之后,此pull request已解决此错误引用 .

    该修复程序已将程序包依赖项更新为 extract-text-webpack-plugin@next 并在本地测试了此项,我可以确认这不再在构建时引发错误 .

    yarn remove extract-text-webpack-plugin
    yarn add --dev extract-text-webpack-plugin@next
    
  • 1

    我使用 npm 遇到了同样的问题,它与纱线解决方案类似地解决了:

    npm uninstall extract-text-webpack-plugin
    npm i -D extract-text-webpack-plugin@next
    

    Ref

    Altough的作者说:

    ⚠️由于webpack v4,extract-text-webpack-plugin不应该用于css . 请改用mini-css-extract-plugin .

    Ref

  • 2

    你可以使用mini-css-extract-plugin,我相信它应该替换webpack 4的extract-text-webpack-plugin . https://www.npmjs.com/package/mini-css-extract-plugin

    但要注意一些问题,比如在 Watch 模式下破坏增量css重建,因为它现在只是一个测试版 .

相关问题