创建包目录
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目录下查看,目录结构如下
方法2:使用“npm link”
D:\mypackage>npm link
D:\mypackage_test>npm link mypackage
此时再到node_modules目录下去验证
方法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命令,这里不再多讲了,很少用到