1. 给 npm 包取个【唯一】的名字!
npm 包命名规范
- 只能包含小写字母(a-z)、数字(0-9)、连字符(-) 和 下划线(_),不能包含空格、大写字母、标点符号(除连字符和下划线外)或特殊字符(如 !、@、# 等)
- 长度不超过 214 个字符
- 建议以字母开头
- 连字符(-)常用于分隔单词(如 react-dom),下划线(_)使用较少,避免连续使用连字符或下划线(如 my–package 不推荐)
- 名称应简洁易记,体现包的具体功能
- 避免禁用的名称,如 fs、npm、package、install、publish 等
范围包
包名格式如下的为范围包,适合个人或企业发布的系列包,如 @vue/cli 等
@scope/package-name
- scope 是npm 用户名或组织名
在发布时,默认为私有范围包(仅自己或授权用户可见,且需要付费),可指定为公共范围包(所有人可见可安装,免费)
npm publish --access public
检验包名是否唯一
npm search 包名
或在 npm官网 中搜索试试
2. 创建项目,完成开发
使用 vite 的库模式开发
以包名 frontend-monitor-sdk 为例
npm create vite@latest frontend-monitor-sdk -- --template vanilla-library
使用 npm 开发
以包名 mypack-test 为例
- 新建文件夹 mypack-test
- 用vscode 打开文件夹 mypack-test
- 终端执行 npm init 生成 package.json 文件,按提示输入相关信息或一路回车,最后输入 y 回车即可。
蓝框内的部分为包的信息,可根据需要自行输入(或等生成package.json后再修改)
- package name 包名,默认为项目名称
- version 包的版本号,默认为 1.0.0
- description 包的描述信息
- entry point 包的入口文件(包内的所有内容,要在此文件对外导出),默认为 index.js
- test command 测试命令,默认为 “echo “Error: no test specified” && exit 1”
- git repository 包的远程 git 仓库
- keywords 关键字
- author 包的作者
- license 开源文件协议,默认为 ISC
新建文件index.js,内容为
要点:定义的函数/变量一定要对外导出!/* 函数功能——求和 参数——两个数字 */ function sum(a, b) { return a + b; } module.exports = { sum: sum, };
新建文件README.md,内容为包相关的信息
新建文件 .npmignore,内容为发布时不需要打包的文件,如
node_modules *.log