如何在 Debian 包中打包 Web 应用程序的最小化 JS 文件?

如何在 Debian 包中打包 Web 应用程序的最小化 JS 文件?

Webapp 中的 JS 文件通常以最小化的形式使用(例如 jquery.min.js),lintian 将这种行数非常长的文件视为二进制文件。通常这些最小化的 JS 文件不是由 webapp 的开发者编写的,而是外部库(属于免费软件)。

Debian 开发人员建议不要将这些文件保留在 Debian 源包的最小化版本中,而应在构建 Debian 二进制包时将它们编译为最小化版本(例如使用debuild

如何实现?可以npm用某种方式来做到这一点吗?

答案1

是的,可以实现。

  1. 将最小化库添加到您的构建中,有几个选项

    • 喜欢babel-minify建立依赖关系Debian 源码包,它已经在 Ubuntu 存储库中。在debian/control

      Build-Depends: ..., babel-minify
      
    • 输入npm包构建要求。在debian/control

      Build-Depends: ..., npm
      

      下载terserminify或使用 的任何其他工具npm。但这在离线构建机器上可能无法实现。在构建脚本中(如果有)或debian/rules

      project.json.."devDependencies":{}

  2. 然后使用它们生成最小化的 JS 副本。

    project.json.. 输入命令"scripts":{}

我建议在上游源代码处使用完整的构建脚本(使用 JS 特定方式,例如project.json)。仅保留特殊的 Debian 进程debian/rules

为了rules(这是一个 Makefile),您可以覆盖任何步骤,例如:

override_dh_prep:
    ...
override_dh_auto_configure:
    ...
override_dh_auto_install:
    ...

如果你不使用 DebHelper,还有其他打包方式。我对 JS 生态系统不太熟悉

相关内容