美文网首页
如何开发npm插件

如何开发npm插件

作者: Felicity0512 | 来源:发表于2020-06-16 16:03 被阅读0次

1、创建package.json文件

参考npm文档:如何创建 Node.js 模块

特别注意!!!模块的名称一定要在npm搜索不到的才可以,一定要起一个不重名的模块名称。

$ md xxx-plugin                 // 创建插件项目文件夹
$ cd xxx-plugin                 // 进入新建项目目录
$ npm init                      // 创建package.json文件
// 进入配置操作
package name: (xxx-plugin)      // 插件名
version: (1.0.0)                // 插件版本
description:                    // 插件的作用描述
entry point: (index.js)         // 插件入口
test command:                   // 测试脚本
git repository:                 // git地址(可以先不填)
keywords:                       // 关键词
author:                         // 作者
license: (ISC)                  // 许可证

此处入口文件(entry point)默认设置的index.js,在xxx-plugin文件夹下新建index.js文件如下:

exports.printMsg = function() {
  console.log("This is a message from the demo package");
}

这个最简单的模块就完成了

2、需要一个npm账号

打开npm官网:https://www.npmjs.com/。按流程注册账号,注册好了之后注册邮箱会收到激活邮件,一定要激活,不然发布模块时会报错,提示激活邮箱。

3、npm里添加用户

$ npm adduser  // 添加账户

之后按需输入上一步注册的账户名、注册邮箱、登陆密码。
想检查是否添加成功,如下:

$ npm whoami // 查询当前账户

如果添加账户时发现镜像地址不对,是淘宝或者其他地址,怎么办?

推荐安装nrm查看npm的镜像源

https://www.npmjs.com/package/nrm

$ npm install -g nrm  // 安装nrm镜像源管理工具
$ nrm ls              // 查询npm镜像源,*为当前镜像源
$ nrm use npm         // 切换为npm原始镜像
$ nrm -h              // 帮助文档
$ nrm -V              // 版本

4、发布node模块

以上都完成了,就可以在xxx-plugin目录下发布模块了。
再次提醒,模块名称必须是npm上唯一的,才能发布成功。

$ npm publish // 发布包到npm官方库

发布成功后,在npm官网就能搜索到刚才自己发布的模块了。
撤销已发布的模块,同名模块发布需要24小时间隔。

5、测试新模块

新建项目,安装模块

$ md new-project                // 创建项目文件夹
$ cd new-project                // 进入项目目录
$ npm install test-plugin       // 安装刚发布的插件

此时new-project -> node_modules文件夹下应该就有自己的node模块test-plugin了。
项目根目录下新建test.js文件,引入新模块:

const plugin = require('test-plugin');
plugin.printMsg()

运行test.js:

$ node test.js
This is a message from the demo package

得到这条message就代表模块运行成功啦!~

6、本地开发:调试和测试

在本地开发npm模块的时候,我们可以使用npm link命令,将npm模块链接到对应的运行项目中去,方便地对模块进行调试和测试。推荐阅读以下文章:
npm link的使用

7、npm开发其它常用命令

$ npm login // 发布包时登录npm账号用的
$ npm publish // 发布包到npm官方库
$ npm unpublish xxx // 撤销已发布的xxx包 
$ npm unpublish xxx --force // 强制撤销xxx包
$ npm unpublish xxx@1.0.2 // 撤销xxx包的1.0.2版本
$ npm link // 全局安装当前目录的包
$ npm unlink // 全局卸载当前目录的包

相关文章

网友评论

      本文标题:如何开发npm插件

      本文链接:https://www.haomeiwen.com/subject/rmxrxktx.html