首页 > 解决方案 > 解决 Webpack 5.9.0 弃用调用 [DEP_WEBPACK_DEPRECATION_ARRAY_TO_SET] 和 [DEP_WEBPACK_CHUNK_MODULES_ITERABLE]

问题描述

我有几个 webpack 5.9 构建警告,这让我难以解决。

我已经尽我所能在网上进行了研究,但无济于事。我确实找到了这个:

Webpack 5 发布文档:Arrays to Sets

但是,除了我理解这些概念外,我不知道如何更改我的配置设置来解决这个问题。如何将事物切换为“使用新的 ChunkGraph API”也是如此。

任何帮助表示赞赏。

yarn run build

(节点:90180)[DEP_WEBPACK_DEPRECATION_ARRAY_TO_SET] DeprecationWarning:chunk.files 已从 Array 更改为 Set(不推荐使用 Array 方法“includes”)(node --trace-deprecation ...用于显示警告的创建位置)(节点:90180)[DEP_WEBPACK_CHUNK_MODULES_ITERABLE] DeprecationWarning:Chunk .modulesIterable:使用新的 ChunkGraph API

更新:

我通过使用发现:

node --trace-deprecation node_modules/webpack/bin/webpack.js --mode=development

这两个弃用警告仅在使用 purge-css-webpack-plugin 时出现。我正在使用它(我从以下内容中了解到:https ://survivejs.com/webpack/styling/eliminating-unused-css/ ):

      new PurgeCSSWebpackPlugin({
        // paths: ALL_FILES,
        paths: purgePath,
        extractors: [
            {
              extractor: (content) =>
                content.match(/[^<>"'`\s]*[^<>"'`\s:]/g) || [],
              extensions: ["html"],
            },
        ],          
    }),

仍然不确定如何解决警告,但至少越来越近了。此外,正在考虑删除未使用的 CSS 的其他选项......

最近更新

对于@Ashish 和我读过这篇文章的其他人:我确实解决了这个问题。但是,我必须为我在做 b/c 时没有更新这个主题而道歉,现在我不记得我是怎么做的了。我相信我将 package.json 中的一些包更新为最新的。另外,我目前使用 purge css webpack 插件,如下所示:

`new PurgeCSSWebpackPlugin({
    paths: globAll.sync(
      [
        `${path.resolve(__dirname, './src')}/**/*`,
        `${path.resolve(__dirname, './public')}/**/*`
      ],  
      { nodir: true }
   ),
 }),`

标签: deprecation-warningwebpack-5

解决方案


这可能与 CSS 无关,但我遇到了同样的问题,因为我使用的是旧版本的 ts-loader 旧版本,所以我安装了最新版本。

npm i -D ts-loader@latest


推荐阅读