截屏
什么是模块
1 | 一个完整的模块, 需要满足以下特性 |
ES Module
1 | 开源库一般来说提供两个入口文件 |
rollup
1 | rollup巧妙地通过将被依赖的模块放在依赖模块前面的方法来解决模块依赖问题 |
兼容低版本浏览器
1 | 使用babel |
开源
1 | 一般的库建议选择MIT协议, 如果涉及专利技术, 则可以选择Apache协议 |
npm 上忽略文件
1 | 可以创建.npmignore文件 |
tag
1 | git tag 1.0.0 |
自定义数据
1 | npm命令行为每个执行的命令都提供了pre和post钩子 |
github action
1 | 一个开源库可以用3个workflow |
版本问题
1 | 假设有两个库A和C, 当这两个库都依赖同一个库, 但是以来的版本不一致时: |
monorepo
1 | yarn workspace 会将依赖安装到根目录, 这样各个项目就可以共享依赖 |