我正在使用 Node.js 在 JavaScript 中实现一个客户端应用程序。因为我将在许多机器上部署该软件,所以我想尽量减少我分发的包的大小。特别是,我想从 node_modules 中删除所有不必要的文件。
对于初学者来说,这意味着去重和修剪依赖树,npm
可以为我做这件事。但我还想删除所有 package.json
文件和(尤其是)部署不需要的任何其他文件。在我使用的许多包中,有大量的测试、文件的多个版本(缩小的、浏览器化的等)等等。我只需要正在运行的应用程序实际使用的 JavaScript 文件。否则我将分发几个 100Kb 的实际未使用的文件。
我知道 node-browserify
但我的应用程序将在 CommonJS 环境中运行,而不是在浏览器中运行,因此我想将模块分开并使用 require
加载它们。
我正在考虑编写一个使用 required
遍历依赖树的 Grunt 插件, 提取运行时需要的 JavaScript 文件并将它们写入树结构,以便可以使用 require
加载它们(只需直接加载模块而不需要 package.json
) .但我想确保在我解决之前没有人为我做过这件事。
最佳答案
未找到 grun-package-minifier(这不是实际答案。我想在上面的答案中提出意见,但我还没有足够的声誉 :( )。
npm 安装 grunt-package-minifier --save-dev 密码: npm WARN package.json zigbee_gateway_js@0.0.0 没有存储库字段。 npm WARN package.json zigbee_gateway_js@0.0.0 没有 README 数据 错误! 404 404 未找到:grunt-package-minifier 错误! 404 错误! 404 'grunt-package-minifier' 不在 npm 注册表中。
关于node.js - 为客户端部署压缩 node_modules,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17239083/