开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 2 天,点击查看活动详情
前言:
成功没有捷径但成长有路径
我希望温故知新,老概念能有新理解
正文
背景
前端的更新迭代很快,新知识永远学不过来,但是底层不变的永远不变,万变不离其宗。在前端的庞大体系中,工程化无疑是最重要的一环,解决生产效率问题是基础。用规范,工具,框架来提高效率,解决问题。
这篇文章从npm,yarn 等包管理工具入手介绍工程化(后续补充规范,webpack,vite构建工具加深理解)
正文
我们所熟知的包管理工具,npm, yarn, pnpm,除了负责安装依赖,还可以通过定义在package.json里面的脚本,自动运转项目【npm scripts】。
这其中经历了npm=> yarn=> pnpm的转变
npm 串行安装,效率会慢,而且有幽灵依赖等问题。yarn是在npm的基础上,扁平化node_module。
这两个其实都会在每个项目里安装,如果项目过多也会导致内存越来越满。
pnpm在前面工具的基础上实现了优化,如果你用过npm link 软链能很快理解,所有的安装包都放在全局一个位置,就避免了出现多个项目多次安装的情况,实现节省空间,因为已经安装过了就不需要安装了,所以依赖也会安装的更快。
扩展
npm如何清除依赖
mac 本身电脑内存就不大,尤其是做的项目越来越多,存的 node_modules 越来越多。
npm包过多,手动一个一个删不适合,这时候可以使用 npkill,他可以列出了文件夹下每一个node modules,以及它们所占用的空间,可以有选择的删除,很长时间不用的就可以删掉了。
操作方法
npkill: 删除你老项目的 node_modules
二、安装方式
全局安装
npm i-g npkill
或者选择
npx npkill 运行
三、使用步骤
进入想清理的文件夹
输入 npkill 或者 npx npkill
会列出该文件中 node_modules
光标上下移动来选择要清理的目录,按空格删除,释放内存空间