npm包开发建议
技术选型
建议根据所开发的npm包功能,选择更加快速且合理的打包方案。如果开发的是一个
tools
这样的工具库,显然更适合用rollup
打包。如果是开发的是一个业务组件(vue),则更加适合采用@vue/cli
的lib
模式来构建。
为什么一定要选择打包工具来开发 npm
包?
- 不一定非要使用构建工具来开发,使用构建工具主要是为了使用它强大的生态系统。比如代码风格检测、本地服务、同时构建多种规范的产物等等,方便我们的开发
为什么是 rollup
而不是 webpack
?
- 随着
rollup
和webpack
的版本更新,二者之间的差异性特性越来越小 rollup
配置简单,支持同时打包输出多种规范的产物(iife、cjs、umd、esm、amd、system)webpack
功能强大社区丰富,更加适合大型应用;不支持打包输出为es module
,而且产物不是很纯净- 构建
App应用
时,webpack比较合适;如果是类库(纯js项目)
,rollup更加适合。
完整的开发流程
- 初始化项目
- 创建合理的目录结构
- 配置
eslint
统一代码风格 - 配置
typescript
开发环境 - 配置
babel
- 配置
git
提交的校验钩子 - 开始编写代码
- watch 模式开发(本地服务)
- 添加单元测试,编写测试示例
- 完善
package.json
必要字段 - 配置合适的
npm script
- 本地测试开发的
npm
包 - 发布包到
npm
- 提交代码到
git
仓库
合理的包结构
1 | ├── bin // 用于存放可执行二进制文件的目录 |
致谢
本文摘抄于以下文章,在此致以诚挚谢意!