【问题标题】:Minify and Bundle NodeJS Project缩小和捆绑 NodeJS 项目
【发布时间】:2015-07-15 00:10:15
【问题描述】:

没有找到关于这个主题的太多信息。

是否有任何工具 (gulp) 用于缩小和捆绑 nodejs 服务器项目,包括其 node_module 依赖项?

我有一种情况,我无法在生产机器上运行npm install,并且我被限制为最大 20 MB 的“可执行”大小。

【问题讨论】:

  • 尝试 browserify |丑化。不是最佳的,但可能会做我需要的。

标签: node.js npm gulp


【解决方案1】:

您应该查看shrinkwrap 选项以及shrinkpack 实用程序。它基本上允许您冻结依赖项的版本,GZips 您的节点模块并使它们易于部署。你可能不需要 Gulp,Gzip 压缩包比丑化它更有效。

【讨论】:

  • 压缩效率不够。例如,有很多死代码pouchdb。
  • 该死,...如果压缩不起作用,我想缩小它也不起作用:-/ Gzipping 通常将其压缩到原始大小的 40-50%,缩小到 20- 30%。你可能两者都需要。
【解决方案2】:

您可以尝试使用 npm 安装 pkg

步骤是 -

  1. npm install -g pkg

  2. 创建一个 bin.js 文件。 编写一个指向 main.js 文件/或作为起始文件的文件的代码

       const mainCode = require('.')
    
  3. 只需将值为“bin.js”的属性“bin”添加到您的包 json 中,如下所示:

       {
          "name": "mainCode",
          "version": "1.0.0",
          "description": "web server app",
          "main": "main.js",
          "bin": "bin.js", 
          "author": "anybody",
          "license": "MIT"
        }
    
  4. 然后从项目文件夹路径运行命令

        pkg -t node10-win .
    

所以,仅供参考 -t 是告诉必须为哪个操作系统生成可执行文件的目标(您可以查看 pkg --help 了解更多信息)

并且 node10 是版本(实际上 node11 不支持,但您可以在下面的此链接上查看其他版本)

https://github.com/zeit/pkg-fetch/releases

【讨论】:

  • 我们如何处理生成的文件
猜你喜欢
  • 1970-01-01
  • 2017-12-13
  • 2014-11-26
  • 2013-06-27
  • 2012-06-28
  • 1970-01-01
  • 1970-01-01
  • 2012-08-09
  • 1970-01-01
相关资源
最近更新 更多