Hay*_*yun 8 resource-cleanup node.js npm node-modules
在准备部署代码时,我将如何清理node_modules文件夹.
我正在使用node-webkit创建一个应用程序,并且在捆绑最终版本的应用程序时,由于解压缩过程需要一些时间,因此我希望包含尽可能少的文件.
我已经查看npm dedupe
并使用npm install --production
去除重复项并仅获取生产文件,但是我仍然留下Readme
文件benchmarks
,tests
以及build
我不需要的文件.
我想为node_modules
文件夹中的每个模块最终得到的是一个LICENSE
文件(如果它存在),package.json
以及模块运行所需的任何其他内容,但仅此而已.
问题:如何自动清理一个SCM提交的node_modules目录有点朝着同一个方向,但它正在谈论提交所以不是我真正想要的.
问题:NPM清洁模块在某种程度上与我的相同,但并不完全相同.
这个答案很有帮助,因为它是dedupe
捆绑最终应用程序的更有效的版本.
更新
我尝试了从这里链接的自定义模块,但它似乎无法正常工作,即使在一些摆弄之后.
尽管如此,我还没有找到正确的答案.
这是我正在寻找的一个例子.
在我的项目中,我目前有两个依赖项:socket.io
和socket.io-client
.
它们共计15 MB,包含110个文件夹中的550个文件.
手动清洁readme
,makefile
,VC++
建立文件,如.pdb
和.obj
和其他不必要的文件,我能够缩小它下降到2.74 MB与265个文件73个文件夹.
这只有两个模块.
我想知道是否有办法自动执行此操作,最好是npm
.
此模块尝试智能清理node_modules文件夹:
安装:
npm install modclean -g
Run Code Online (Sandbox Code Playgroud)
要么
npm install modclean --save-dev
Run Code Online (Sandbox Code Playgroud)
用法:
modclean
Run Code Online (Sandbox Code Playgroud)
它使用一组默认模式从整个依赖关系树中的模块中删除不必要的膨胀.
清理node_modules
webkit 应用程序的部署,有点困难,因为node_modules
目录内的模块安装有或没有测试文件和其他杂项文件,因此,如果模块的所有者已.npmignore
使用 dir/files 声明了一个文件当所有者发布他的模块时,诸如tests
或examples
那些将被排除在打包过程之外,但它将正常存在于存储库(git)中。
上面的内容留在模块所有者手中,如果他/她“忘记”制作一个,那么包将包含几乎所有内容。
development
的包socket.io
,或者socket.io-client
这并不意味着您必须这样做npm install socket.io --save-dev
,因此简单的方法npm install socket.io -V
是安装由其所有者上传的生产包。
grunt
任务,node_modules
按照您的意愿清理整个系统。
一些规则是
test
或tests
目录或*test*.js
文件build
目录(不确定它有时可能包含一些必要的二进制文件)history.md
归档时间: |
|
查看次数: |
9724 次 |
最近记录: |