跳到主要内容

构建简单的 npm 包

versionNPM Last UpdateMonthly downloadsTotal downloads

源码参看bug 🙋‍♂️ 提交

安装

该库不安装亦可直接使用 npm create a-npm 或是 npm create a-pkg 全局使用,如果你非要安装的话,就:

npm install  create-a-npm --save

使用

# 最简单的使用方式
npm create a-npm

在使用中,会在用户的目录下创建 .earthnut.dev.data/create-a-npm/config 文件,以储存您的数据在本地(这些数据不会走网络,安全可用)方便下次使用时直接使用。若觉得无用,可执行删除若觉得不知而误删除,下次后还需再次输入您的使用数据。所以,建议保留数据:

  • linux: /home/username/.earthnut.dev.data/create-a-npm/config
  • macOS: /Users/username/.earthnut.dev.data/create-a-npm/config
  • Windows: C:\Users\username\.earthnut.dev.data\create-a-npm\config

在使用 npm create a-npm 命令后,即开始构建步骤

  • 步骤一:询问并获取输入包名
  • 步骤二:校验包名是否以有 npm 同名包。如果有同名的包存在,询问是否更改、忽略或退出
  • 步骤三:查找本地是否储存了相关的数据,没有信息将直接问询输入
  • 步骤四:选择开发的模式(是否携带 bin
  • 步骤五:选择使用的辅助工具

输入包名

正常使用输入包名,该步骤不可被跳过。

  • 仅接受小写英文字符和数字
  • 首字符仅接受小写英文字符或 @
  • @ 仅可出现在首位
  • 仅在首位出现 @ 时使用 /
  • 仅可用 -_ 作为分割符
▶︎ *您即将创建的包名*:  连字符(-)做分隔符

如果没有输入或是不符合要求,则将触发以下输入判断:

输入空格、首字符非小写英文或 @ 的提示

▶︎ *您即将创建的包名*: 1
首字符应为小写英文字符或 @

非法使用 @ 时的反馈

▶︎ *您即将创建的包名*:  a@
@ 仅允许在首位出现

使用非法的字符

▶︎ *您即将创建的包名*:  a、
仅允许 -、_ 字符出现

校验包名

当包名在当前执行目录下存在同名的包时,会提示更换包名或退出

▶︎ 当前目录下存在非空同名文件夹(create-a-npm): 更换为其他名称  直接退出

当包名在同目录下不存在同名的文件夹,开始校验该包名是否存在于 npm

▶︎ 当前包名称(create a npm)已经存在于 npm 中: 更改为其他名称  忽视并继续  直接退出

使用数据

在构建中,会用到一个用于发布者姓名的 name 和一个用于包通讯的 email 、一个用于展示的个人网址 url

 □ name : earthnutDev
□ email : earthnut.dev@outlook.com
□ url : https://earthnut.dev

选择开发模式

完善了个人信息后就进入了开始模式选择,可以使用库模式、执行库模式或混合模式

▶︎  请选择开发模式

● 仅是可用库
◦ 仅是可执行库
◦ 库 + bin

选择使用的工具

默认是全选的状态,且 rollup 状态只读

 ▣ 打包工具 rollup
■ 使用 typescript
■ 使用代码问题工具 eslint
■ 格式化代码 prettier
■ git 提交 hook 管理 husky
■ CI/CD 使用自动化构建、发布 github action

是否安装依赖

在快结束的时候会提醒是否直接安装依赖包,该步骤可被跳过。完成或跳过该步骤即完成了简单的包创建

创建项目完毕
请 cd 到 xxxx 目录下

执行 npm install
简单测试使用 npm test
简单打包使用 npm run build