npm(node package management),是nodejs内置的包管理器。中心思想是共享代码,在这里我们可以找到自己需要的包,安装,使用,当然也可以发布我们自己的包。那下面我就来说下,发布一个npm包,需要几步?
发布一个npm包比大象装冰箱麻烦一点点,也就是一点点,不信,你往下看😁:
1、注册npm账号,点我注册
2、登录账号,npm login,根据提示输入用户名和密码
3、赐名,通过 npm info +包名 来查看包信息,包名不能重复
4、初始化包
a、创建文件夹,mkdir + 包名
b、进入目录,cd + 包名
c、初始化包,npm init
d、按提示输入信息,填充包的详细信息,会生成package.js
e、编写package.js,根据需要填充目录,安装依赖,编写代码
常见目录结构如下:
index.js代码示例🌰如下
function add (num1, num2) {
return num1 + num2
}
function sub (num1, num2) {
return num1 - num2
}
module.exports = {
add,
sub
};
5、编写好代码,发布, 在项目目录下npm publish即可
注意点:
1、每次发布前,需修改版本号,package.js中的version
2、js包如何兼容ts--------------提供类型声明文件(类型声明文件的主文件名与JS库文件的主文件名相同,后缀为d.ts,例如主文件名为“index.js”,则类型声明文件名为“index.d.ts”)
index.index.d.ts代码示例🌰如下:
export function add(n1: number, n2: number): number;
export function sub(n1: number, n2: number): number;
package.js增加types配置如下:
"name": "xxxx",
"version": "我是版本,默认1.0.0,每次发布时需要更新",
"description": "我是包描述,帮助大家在使用npm search时找到这个包",
"keywords": ["我是关键字","帮助大家在使用npm search时找到这个包"],
"main": "index.js", // 我是入口文件
"types": "index.d.ts", //我是类声明文件
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"dependencies": {},
"devDependencies": {},
"author": "",
"license": "ISC"
3、删包
a、删除某个版本: npm unpublish 包名@版本号
b、删除整个包:npm unpublish 包名 --force