如何开发NPM包

时间:2022-09-07 16:30:55

创建包目录

D:\>mkdir mypackage && cd mypackage
D:\mypackage>npm init --yes

进入mypackage目录,你会看到一个package.json文件,其内容如下:

{
"name": "mypackage",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}

其中"main"指向了你的包的入口点,当别人使用你的模块时require("mypackage"),实际返回的是"main"指向的"index.js"文件中的module exports

完成包功能

在mypackage目录下创建index.js文件,并添加如下内容:

"use strict";

    module.exports = function sum(a, b) {
return a+b;
}

包的内容很简单,就是完成一个加法运算

测试

新建一个项目mypackage_test用于测试

D:\>mkdir mypackage_test && cd mypackage_test

D:\mypackage_test>npm init --yes

(划重点)在测试阶段,如何不用每次改动都重新编译并发布到NPM

方法1:绝对路径引用

D:\mypackage_test>npm install D:/mypackage

此时查看package.json,其内容如下(注意粗体部分):

{
"name": "mypackage_test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"mypackage": "file:../mypackage"
}
}

此时再到node_modules目录下查看,目录结构如下

如何开发NPM包

方法2:使用“npm link”

D:\mypackage>npm link
D:\mypackage_test>npm link mypackage

此时再到node_modules目录下去验证

如何开发NPM包

方法3:

D:\mypackage>npm pack
mypackage-1.0..tgz

此时会在mypackage目录下生成mypackage-1.0.0.tgz文件

然后到mypackage_test目录下执行命令

D:\mypackage_test>npm install D:\mypackage\mypackage-1.0..tgz

发布

你需要拥有npm账号,使用npm publish命令,这里不再多讲了,很少用到