首页 > 解决方案 > npm webpack 如何配置使用非缩小依赖项

问题描述

我收到了来自 Google 的关于我在网上商店中的扩展程序的通知。

我们会定期检查 Chrome 网上应用店中的商品是否符合我们的计​​划政策,以确保为我们的用户提供安全和值得信赖的体验。(...) 在审核过程中,您的项目被发现可疑,并且有一个或多个文件包含人类不可读的缩小或混淆代码。

我使用 webpack 4 创建扩展包。而且我能够配置不缩小和不混淆:

mode: "production",
optimization: {
  // We no not want to minimize our code.
  minimize: false,
},

问题是依赖项(React、React-Dom 和 SweetAlert2)仍然被最小化。

按照这个描述, SplitChunksPlugin能够将依赖项移动到单独的文件中:

mode: "production",
optimization: {
  // We no not want to minimize our code.
  minimize: false,
  splitChunks: {
    // Add the dependencies in the vendors file
    cacheGroups: {
      react: {
        test: path.join(__dirname, "node_modules", "react"),
        name: 'react',
        chunks: 'all'
      },
      sweetalert2: {
        test: path.join(__dirname, "node_modules", "sweetalert2"),
        name: 'sweetalert2',
        chunks: 'all'
      }
    }
  }
},

问题是依赖关系仍然被最小化。我将模式修改为开发:

mode: "development",

但它增加了很多评估和本地引用,它仍然被缩小。

"use strict";
eval("/** @license React v16.4.2\n * react-dom.development.js\n *\n * (...)

是否可以使用 webpack 生成具有非缩小依赖项的项目?

标签: javascriptnpmwebpackdependency-managementwebpack-4

解决方案


推荐阅读