Nodejs node_modules 小文件真是多的离谱
忘记打包了,直接移动源码,好家伙,文件管理器移动进度直接卡住。点关闭,没效果,强行关闭。卧槽了!文件数据给我弄坏了!给我代码弄得缺胳膊少腿的,源码文件最后少了一段,开头也乱码了!哎!
Nodejs node_modules 小文件真是多的离谱
黑洞可不是白叫的,233
但说实话这得怪微软(
它们也知道复制小文件慢所以才搞 dev drive
小文件方便摇树啊. 我这组里都是恨不得一个函数一个文件的.
等等,你不用 git 的吗
朋友,若你有经验,能否分享下,dev drive 好用吗?
git 没用,github 也没上传,哭死。
esm 时代不需要手动拆这么细了,只需要按实际目的拆即可
我现在不用 git 写代码都不踏实
你可能在找 P’n’P ?虽然我不用。
可不可以删掉 node_modules 再移动,到新目录再执行 npm install ? npm 这些应该都有缓存的。移动文件最怕遇到 node_modules 和 .git
哎,长记性了
我之前测的在 windows 下面删 nodemodules 最快的办法是 rimraf 。。。
只比 rm -rf 慢 12 倍。。。
原生的 rmdir 或者 rm 在 ntfs 下面比 ubuntu+ext4 要慢 30 倍左右。。。
首谈开个 wsl1 用 mv
我觉得 node_modules 非常有必要直接走内存。。虽然听上去有点扯,但是每次删除都要半天,确实服气得很呢。
用 pnpm 吧,node_modules 目录下很多是链接目录,实际文件都在缓存里面。
谁会整天没事干就删除 node_modules 文件夹
node_modules 一个重要作用是,方便你删除文件时反悔
npm 确实大便
受 po 启发,写了一个优化 node_modules 的小工具: https://github.com/Plumbiu/prune-npm
搬运 node_modules 最好的办法是先打包成 node_modules.7z
#21 打包也需要费时间吧,如何打包更快一些?
#22 不压缩纯打包其实还好
最讨厌的两个东西:node_moduels 和 .DS_Store ,都是硬盘毒瘤
打包称 tar 速度很快,但是可能会解压好几个小时
小文件需要 FastCopy 救一下
win 用 rd /q/s dir 比右键删除快
直接删了重新 yarn i
懂了,以后把 node_modules 打包成 vhdx 然后挂载到对应的目录
在 Windows 上移动/删除大量小文件,推荐用这款软件,UI 很古老但很好用
https://fastcopy.jp/
#28 在 Windows 上,删除大量小文件也很慢的,在正式删除前,需要先检索每一个文件
不知道有没有文件系统,可以根据目录名称直接将 目录映射到某些个磁盘。这样以后不用时直接格式化清空拉倒
1 行代码也要引一个包,结果这行代码更新出了问题,炸了好大一片网站。。。这事前年发生的真事
等等,你不用 git 的吗
用 deno 啊,哈哈哈。
NTFS 就可以吧
恭喜你遇到了一个大家一直都很绝望的问题。。
记得以后别整体移,进项目文件夹排掉 node_modules 以后再批量移。
这时候 pnpm 这种软硬连接的方式就很方便移动源码了,毕竟依赖都统一存放在 store
移动这个还不如删掉重新 install,文件多还小,win 下就是噩梦
用了 pnpm 之后不再被 node_modules 烦了,目前感觉还行
至少装的快,让我装 java jar 包 maven 慢的我要抓狂
在Node.js项目中,node_modules
目录包含项目依赖的所有npm包,这些包通常会拆分成很多小文件,以便更好地管理和复用代码。虽然这确实会导致node_modules
目录包含大量文件,但这是现代JavaScript模块化开发的一个必然结果。
如果你发现node_modules
中的文件数量过多,影响了项目的构建速度或者管理效率,可以考虑以下几种优化方法:
-
使用
pnpm
代替npm
或yarn
:pnpm
采用了一种称为“硬链接”的技术,可以显著减少node_modules
中的文件数量,同时保持与npm
和yarn
相同的依赖解析行为。npm install -g pnpm pnpm init # 或者 pnpm install <package>
-
清理未使用的依赖: 定期清理项目中未使用的依赖,可以减少
node_modules
中的文件数量。npm prune
-
使用
monorepo
结构: 如果你的项目包含多个子项目或模块,可以考虑使用monorepo
结构,这样可以在一个仓库中管理多个项目,同时共享一些依赖,从而减少总的文件数量。 -
升级依赖: 有时候,依赖包的开发者会优化包的体积,因此定期升级依赖也可以减少文件数量。
总之,虽然node_modules
中的文件数量可能看起来很多,但通过合理的工具选择和依赖管理,你可以有效地控制和管理这些文件。