Mat*_*ner 6 node.js npm browserify gruntjs
我正在使用Node.js在JavaScript中实现客户端应用程序.因为我将在许多机器上部署该软件,所以我想尽量减少我分发的软件包的大小.特别是,我想从node_modules中删除任何不必要的文件.
对于初学者来说,这意味着对依赖树进行重复数据删除和修剪,这npm
可以为我做.但我还想删除所有package.json
文件和(特别是)部署不需要的任何其他文件.在我使用的许多软件包中,有大量的测试,多个版本的文件(缩小,浏览器化等)等.我只需要正在运行的应用程序实际使用的JavaScript文件.否则我将分发一些实际上没有使用的100Kb文件.
我知道node-browserify
但我的应用程序将在CommonJS环境中运行,而不是浏览器,所以我想将模块分开并加载它们require
.
我正在考虑编写一个使用依赖树的Grunt插件required
,将运行时所需的JavaScript文件拉出来并将它们写入树结构,以便可以使用它们加载require
(只需直接加载模块而无需使用package.json
).但在我解决之前,我想确保没有人为我做过这件事.
FWIW grunt-package-minifier
:。我的用例有点不寻常,因为我们正在开发一个跨浏览器扩展框架。与标准 NodeJS 部署类似Browserify
或不同,我们希望最小化发行版的大小,包括任何 CommonJS 模块。但与Browserify
我们支持 CommonJS 不同的是,我们可以保留模块结构,而不是将所有内容连接到一个大文件中。
本质上,我剥离了所有的package.json
、README、测试文件等,node_modules
但将基本的 JavaScript 文件保留在可由 CommonJS 模块加载器使用的结构中。
归档时间: |
|
查看次数: |
2193 次 |
最近记录: |