EP05 比黑洞更深的是什么 - 关于 JS 的包管理AsyncTalk

EP05 比黑洞更深的是什么 - 关于 JS 的包管理

59分钟 ·
播放数490
·
评论数3

️ 本期三位主播围绕 "包管理" 聊了些 js 的包管理历史,版本管理,如何发包等问题。

联系我们: async.talk@gmail.com


�‍�‍� 主播

AnnatarHe: annatarhe.com

Tinko: space.bilibili.com

Sleaf: twitter.com


⏰  Timeline

00:00 开场简介

01:52 JavaScript 包管理历史

07:48 包管理是用来解决什么问题的

10:47 版本管理

13:50 包管理器的百家争鸣

17:53 .lock 文件即版本号的设计

24:12 how to patch a package

27:00 发个包吧

28:40 package.json 的字段有哪些

37:57 type: module

41:10 npm scripts

45:30 npm link & tag & publish

51:41 总结以及开发一个新包应该有哪些注意事项


� 勘误

Rust 是有不同的构建依赖类型的:doc.rust-lang.org


� 相关链接

AMD: github.com

UMD: dontkry.com

CMD(commonjs): nodejs.org

ES Module: tc39.es

IIFE(自执行函数): developer.mozilla.org

require.js: requirejs.org

bower: bower.io

tree-shaking(摇树): webpack.js.org

yeoman: yeoman.io

yarn: yarnpkg.com

pnpm: pnpm.io

patch-package: github.com

io.js: github.com

lerna: github.com

包管理处理的依赖问题是比较复杂的,没能找到合适的文章,可以先从这里看起: en.wikipedia.org


� 扩展阅读

lerna 放弃维护:github.com


BGM by Otologic

展开Show Notes
小灰晖
小灰晖
2022.5.23
33:45 peerDependencies 常出现于插件中,它可以保证插件修改(或作用)的对象和插件的安装者使用的是同一个对象(在 React Hooks 中影响会非常大,因为 React Hooks 要求全局使用同一个 React,否则直接报错 React Error 321 无法运行)。

至于其他包管理器没有这种机制,可能是因为其他包管理器每个项目同名依赖只会安装一个,而不是 node_modules 这样 A 依赖 B、C,B 依赖不同版本的 C,就会安装两个 C
编程之王
编程之王
2022.10.19
23:31 哈哈一直口口口
niceSprite
niceSprite
2022.1.22
这期错误挺多的😂,cnpm其实不是套皮