从零开始开发你的NPM包

1,459 阅读2分钟

引言

随着node.js 的普及和npm 作为实际意义上的包管理工具,已经变成前端开发领域最常用的一个基础工具。 日常开发中,我们的构建工具、基础的工具函数、UI组件库都离不开NPM。 除了这些开源的知名包,我们能不能做一个自己的npm包呢? 当然可以本文就来介绍一下如何从零开始开发自己的npm 包。

基本入门 Hello World

跟 git 类似, npm 包开发的第一个命令 也是init 命令。

现在,我们就来做一个Hello Sean的npm 示例包。

初始化项目

新建目录, hellSean

mkdir hellosean
cd hellosean

执行 npm init 命令, 我们会得到一个询问式的交互。

依次要求我们输入,

package name 包名称。 ** 注意,这个地方是不支持大写的**

version 版本号,默认为 1.0.0

entry point 直译的话为入口点,其实就是我们常说的入口文件。

test command 测试脚本

git repository git 源地址

keywords 关键字,便于npm 检索

author 作者

license 协议

1.png

依次输入之后,会二次确认 package.json 的内容,直接回车就好。

这时候,我们发现文件目录下,已经帮我们创建好了,package.json 文件。

但是, main 中的index.js 并没有。

我们来手动在根目录下,创建入口文件 index.js。

并未入口文件,增加一个hello的方法。 内容如下图 2.png

发布到NPM

通过上面的步骤,我们基本完成了,一个简单的npm 包的开发。

接下来,我们将这个包发布到npm 官方服务器上。

首先,到npm 官网, www.npmjs.com/ 注册账号。

注册完账号后,回到项目的命令行,执行 npm login 命令。

根据交互式提示,依次输入:

UserName, 用户名

password, 密码

Email,

验证码

登录成功后, 会得到如下的提示。

Logged in as 你的用户名 on [<https://registry.npmjs.org/>](<https://registry.npmjs.org/>).

接着执行 npm publish 命令。将包发布到npm 服务器。

3.png

至此,我们就完成了。 我们第一个npm 包的发布流程了。

NPM 版本管理及钩子

npm 的版本号为 X.Y.Z 这种格式,并且 X、Y、Z 均为正整数并且不断递增。

X 表示大版本(major)、

Y 表示小版本(minor)、

Z 表示补丁版本(patch)

每次,publish 包体,npm 必须不能等同于上次发包的包体。 所以, npm 针对当前的规则提供了,快捷变更版本好的命令。

大版本: npm version major

小版本: npm version minor

补丁版本: npm version patch

同时,我们可以在,代码的不同分支,为脚本配置不同的 prepublish 钩子命令。

不同版本号对安装的影响

我们日常使用包安装时,基本都是通过如下这种方式。


// package.json 
{ 
    'lodash': '^1.2.0' // 自动安装最新 补丁版本 和 小版本 
    'lodash': '~1.2.0' // 自动安装最新补丁版本, 不能安装,小版本的变更。 
    'lodash': '1.2.0' // 只能安装,特定版本。 
}