我正在使用 Node.js 在 JavaScript 中实现客户端应用程序。因为我将在多台机器上部署软件,所以我想最小化我分发的包的大小。特别是,我想从 node_modules 中删除任何不必要的文件。
对于初学者来说,这意味着对依赖树进行重复数据删除和修剪,这npm
对我来说是可行的。但我还想删除所有package.json
文件和(尤其是)部署不需要的任何其他文件。在我使用的许多包中,有大量的测试、文件的多个版本(缩小、浏览器等)等等。我只需要正在运行的应用程序实际使用的 JavaScript 文件。否则,我将分发几个 100Kb 的文件,这些文件实际上并没有使用。
我知道,node-browserify
但我的应用程序将在 CommonJS 环境中运行,而不是浏览器,所以我想将模块分开并使用require
.
我正在考虑编写一个 Grunt 插件,该插件使用 遍历依赖关系树required
,提取运行时所需的 JavaScript 文件并将它们写入树结构,以便可以使用加载它们require
(只需直接加载模块而不需要 a package.json
)。但我想确保在我处理它之前没有人为我做过这件事。