前言

使用过webpack,glup的同学 对npm的包一定不陌生,今天我们就也来试一下自己发布一个npm包,熟悉下套路。

安装环境

首先 安装nodeJs

已经安装过的可跳过本小节。

安装完成之后,可以在控制台输入node -v 查看版本信息。

clipboard.png

编写模块代码

在桌面建立一个js文件, package.js:

//package.js
function sayHello(name) {
    console.log('Hello ' +  name);
}

exports.sayHello = sayHello;

这样一个最简单的模块就写完了,使用exports将你的hello函数暴漏出去,遵循的是CommonJs规范。

然后建立另一个文件,test.js:


    var say = require('./package');
    say.sayHello('kk');

执行下:

clipboard.png

没问题。

然后进入到我们的工作目录,补充相关信息 :

clipboard.png

会生成一个package.json文件,内容如下

{
  "name": "launch_my_package",
  "version": "1.0.0",
  "description": "Launch test",
  "main": "package.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "kk",
  "license": "ISC"
}


至此,准备工作就完成了。

发布

发布之前呢,首先要在npm org 上 注册

clipboard.png

简单注册之后,就登陆。

clipboard.png

这一步完成之后呢,回到控制台,执行npm adduser

clipboard.png

然后,就可以发布模块了。

clipboard.png

发布完成之后,我们去主页搜一下:

clipboard.png

No problem !

安装

clipboard.png

这里报了一个错,说是npm阻止安装。

看了下,原来是package.json里面的name名字和插件的名字相同,导致npm阻止插件安装。

我们把package.json里面的name 值改一下,修改之后:

{
  "name": "launch_my_package_test",
  "version": "1.0.0",
  "description": "Launch test",
  "main": "package.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "kk",
  "license": "ISC"
}

再试一下:

clipboard.png

安装成功。

测试

clipboard.png

完美!

结尾

这样,我们就完成了一个简单的模块从编写,到发布,再到在线安装和测试的过程。

希望给大家带来一点帮助 ;-).

以上。


皮小蛋
8k 声望12.8k 粉丝

积跬步,至千里。


« 上一篇
闭包有话说