如何发布一个属于自己的npm包

1,110 阅读2分钟

注册一个npm的账号

  1. 登录npm官网 https://www.npmjs.com 注册一个账号。

开始开发一个npm包

初始化仓库

  1. 所有的npm包都需要进行初始化,也就是我们所看到的package.json文件。
  2. 新建一个空文件夹 如:
  3. 进入到这个文件目录的终端执行: npm init命令。
npm init

终端提示会让你输入版本号,作者,描述,入口脚本等等。为了测试可以全部选择默认。完成之后会生成一个package.json文件:

{
"name": "test-module",
"version": "1.0.0",
"description": "'npm测试'",
"main": "index.js",
"scripts": {
 "test": "echo \"Error: no test specified\" && exit 1"
},
"author": "lwh",
"license": "ISC"
}

entry文件,也就是主入口文件

package.json文件的入口文件指向index.js,所以我们在同一目录下新建一个js文件index.js 我们可以先 export一个 hello world 函数。如下:

   function hello(){
       console.log('hello npm');
   }
   exports.hello=hello;

测试阶段

  1. 在文件跟目录下创建文件夹node_modules,并且在此目录下新建一个文件夹,作为包名。如:test-module
  2. index.js文件移动到test-module目录下,然后 npm init
  3. 在项目的根目录下新建一个 test.js文件 ,代码如下:
  var hello =require('test-module');
  hello.hello();
  1. 此时项目文件目录为:
   npmtest  //项目根目录
      node_modules  //包目录
         test-module //插件文件夹
             index.js 
             package.json
      test.js //测试js文件
      package.json //配置文件
  1. 终端回到项目跟目录下 执行 node test.js ,终端输出hello npm 就是运行成功。

发布到npm上面

  1. 终端打开到插件文件夹test-modules目录下 执行 npm adduser ,按照终端提示输入npm 的用户名 ,密码,邮箱信息。
  2. 发布npm包 执行 npm publish , 之后就可以npm上面找到了这个包。

安装使用刚上传的包

  1. 新建文件夹并且终端执行npm init.
  2. 终端执行:npm i test-modules --save 就可以node-modules目录下看到这个包了。
  3. 在项目的根目录下新建一个 test.js文件 ,代码如下:
  var hello =require('test-module');
  hello.hello();

终端执node test.js 看到输出hello npm 就ok了。

更新npm包

  1. 终端打开插件的文件目录下 如:test-modules 下。
  2. 更新完毕后再次执行npm publish 命令就ok, 注意需要修改package.jsonversion 大于当前版本即可,否则会报错。如下:

删除npm包

  npm unpublish --force