2

使用 ASP.NET Core 和 Webpack 创建新的 Web 项目时,我收到来自 yarn about 的依赖警告extract-text-webpack-plugin


我的重现步骤:

  1. dotnew new web
  2. yarn init
  3. yarn add --dev webpack webpack-cli
  4. webpack init

将显示以下警告消息:

警告“ > extract-text-webpack-plugin@3.0.2”的对等依赖项“webpack@^3.1.0”不正确。

  1. webpack

显示以下错误消息:

(node:19320) DeprecationWarning: Tapable.plugin 已弃用。在 '.hooks' 上使用新 API D:\SRC\MISC\WebpackTest\node_modules\webpack\lib\Chunk.js:460 throw new Error( ^

错误:Chunk.entrypoints:使用 Chunk.groupsIterable 并在 D:\SRC\ 的 Chunk.get (D:\SRC\MISC\WebpackTest\node_modules\webpack\lib\Chunk.js:460:9) 处按入口点的 instanceof 过滤MISC\WebpackTest\node_modules\extract-text-webpack-plugin\dist\index.js:176:48 at Array.forEach () at D:\SRC\MISC\WebpackTest\node_modules\extract-text-webpack-plugin\dist \index.js:171:18 在 AsyncSeriesHook.eval [as callAsync] (创建时的 eval (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) 在 Compilation.seal (D:\SRC\MISC\WebpackTest\node_modules\webpack\ lib\Compilation.js:881:27) 在 hooks.make.callAsync.err (D:\SRC\MISC\WebpackTest\node_modules\webpack\lib\Compiler.js:464:17) at _err0 (eval at create (D:\SRC\MISC\WebpackTest\node_modules\tapable\lib\HookCodeFactory.js:24:12), :11:1) at _addModuleChain (D:\SRC\ MISC\WebpackTest\node_modules\webpack\lib\Compilation.js:749:12) 在 processModuleDependencies.err (D:\SRC\MISC\WebpackTest\node_modules\webpack\lib\Compilation.js:688:9) 在 process._tickCallback (内部/进程/next_tick.js:150:11)


当前正在下拉的 webpack yarn 版本有:

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

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

4

3 回答 3

5

在提出此错误参考的问题后,此pull requestwebpack-cli已解决。

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

yarn remove extract-text-webpack-plugin
yarn add --dev extract-text-webpack-plugin@next
于 2018-03-09T09:11:46.717 回答
2

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

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

参考

Altough 的作者说:

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

参考

于 2018-08-01T13:57:29.977 回答
1

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

但要注意一些问题,例如在监视模式下破坏增量 css 重建,因为它现在只是一个 beta 版本。

于 2018-03-09T07:59:24.223 回答