【问题标题】:Webpack - omit creation of LICENSE.txt filesWebpack - 省略 LICENSE.txt 文件的创建
【发布时间】:2020-11-13 09:31:12
【问题描述】:

我正在使用 Webpack 5,并与 bundle.js 文件一起创建了一个不需要的 bundle.js.LICENSE.txt 文件,因为 https://github.com/codepunkt/webpack-license-plugin 用于此任务。

有什么方法可以配置 Webpack 以省略 LICENSE.txt 文件的创建?

我在 GitHub 上搜索了 webpack 文档、SO 和几个问题,但没有发现任何有用的信息。

【问题讨论】:

  • 当我从package.json 中删除许可证道具时,这发生在我身上。当我重新添加它时,它似乎不再为.js 文件生成此许可证文件,但对于编译成 js 的.tsx 文件则没有

标签: webpack


【解决方案1】:

extractComments: false 添加到webpack.config.js


const TerserPlugin = require('terser-webpack-plugin');
.
.
.
module.exports = {
.
.
.
  optimization: {
    minimizer: [new TerserPlugin({
      extractComments: false,
    })],
  },
.
.
.
};

【讨论】:

  • 仅供参考:这仍然会在包本身中留下许可证注释。
  • @SámalRasmussen:所以捆绑包中真的需要这些许可证吗?我们应该删除它们吗?
  • 是否需要随软件分发许可证是法律问题,而不是软件问题。所以我没有资格为你回答这个问题。这也取决于许可证。
【解决方案2】:

webpack 文档只有这个 https://webpack.js.org/plugins/terser-webpack-plugin/#extractcomments

extractComments: false

这帮助我摆脱了 LICENSE.txt

【讨论】:

    【解决方案3】:

    要正确删除捆绑包中的许可证文件和 cmets,请使用:

    optimization: {
      minimize: true,
      minimizer: [
        new TerserPlugin({
          extractComments: false,
          terserOptions: {
            format: {
              comments: false,
            },
          },
        }),
      ],
    },
    

    https://github.com/webpack-contrib/terser-webpack-plugin#remove-comments

    【讨论】:

      【解决方案4】:

      我是这样解决的:

      import TerserPlugin from "terser-webpack-plugin";
      optimization: {
      minimizer: [
        (compiler: Compiler): void => {
          new TerserPlugin({
            terserOptions: {
              format: {
                comments: false
              }
            },
            extractComments: false
          }).apply(compiler);
        }
      ]}
      

      见:https://github.com/MarkZhuVUW/ts-react-s3-circleci-employer-tracker/blob/feature/service-worker-notification/webpack.prod.config.ts

      【讨论】:

      • 为什么要让它变得复杂一些?在这样的高级配置中传递一个低级概念“编译器”看起来有些愚蠢......
      猜你喜欢
      • 2020-11-14
      • 2016-11-15
      • 2013-09-03
      • 2015-11-21
      • 2013-02-13
      • 2016-01-04
      • 1970-01-01
      • 2017-12-30
      • 2017-02-01
      相关资源
      最近更新 更多