#每天一个知识点# 程序员 / 技术岗的兄弟,别再把「不会表达」归因为内向了!
我带过 100 + 技术人练表达,总结出3 句万能公式,直接套用,汇报不慌、面试不卡、分享不尬:
汇报公式:我负责 XX 模块→解决了 XX 问题→带来了 XX 价值
面试公式:这个项目的难点是 XX→我用 XX 方法搞定→最终达成 XX 结果
分享公式:先讲一个痛点→再给一个方案→最后留一个思考
不用背稿子,不用练口才,就靠这 3 个逻辑,把你的技术实力说清楚、讲明白。
#每天一个知识点# npm 模块安装机制和实现原理
安装机制:查询node_modules目录中是否存在指定模块,存在不重新安装;不存在向registry查询模块压缩包网址,下载压缩包存放在根目录下的.npm目录里,解压压缩包到当前目录的node_modules目录
实现原理:
1. 执行工程自身preinstall
2. 确定首层依赖模块:dependencies 和 devDependencies 属性中直接指定的模块
3. 获取模块:获取模块信息、模块实体、查找该模块依赖
4. 模块扁平化:遍历所有节点,逐个将模块放在根节点下,如果发现重复模块则丢弃
5. 安装模块:更新 node_modules目录,执行模块中的生命周期函数
6.执行工程自身生命周期
安装机制:查询node_modules目录中是否存在指定模块,存在不重新安装;不存在向registry查询模块压缩包网址,下载压缩包存放在根目录下的.npm目录里,解压压缩包到当前目录的node_modules目录
实现原理:
1. 执行工程自身preinstall
2. 确定首层依赖模块:dependencies 和 devDependencies 属性中直接指定的模块
3. 获取模块:获取模块信息、模块实体、查找该模块依赖
4. 模块扁平化:遍历所有节点,逐个将模块放在根节点下,如果发现重复模块则丢弃
5. 安装模块:更新 node_modules目录,执行模块中的生命周期函数
6.执行工程自身生命周期
展开
评论
3
![[灵光一现]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_25.51e6984.png)