码迷,mamicode.com
首页 > 其他好文 > 详细

如何开发一个自己的npm包

时间:2020-06-16 20:12:43      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:pac   log   仓库   describe   使用   ack   pts   info   版本   

一、初始化npm包

npm init

运行输入包名后一直回车,直到生成一个package.json,如下
技术图片
生成的文件如下

{
  "name": "chenqionghe-demo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "directories": {
    "lib": "lib",
    "test": "test"
  },
  "dependencies": {
    "assert": "^2.0.0",
    "should": "^13.2.3"
  },
  "devDependencies": {
    "mocha": "^8.0.1"
  },
  "scripts": {
    "test": "mocha"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/chenqionghe/npm-demo.git"
  },
  "author": "",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/chenqionghe/npm-demo/issues"
  },
  "homepage": "https://github.com/chenqionghe/npm-demo#readme"
}

二、新建自己的工具类

这里我建立了一个文件lib/cqh.js,内容如下

class Cqh {
    hello() {
        console.log(‘hello chenqionghe‘)
    }
}

module.exports = Cqh;

三、新建入口文件index.js

默认package.json中指定的入口是index.js,也就是require能用到的东西,我们在index.js里导出一下我们的工具包cqh.js就行了

const Hello = require("./lib/hello");

module.exports = {
    Hello
};

四、编写单元测试

安装一下依赖包

npm install mocha assert --save-dev

新建文件test/cqh.js,代码如下

/* eslint-env es6 */

const {describe} = require(‘mocha‘);
const assert = require(‘assert‘);

const {Cqh} = require(‘../index‘);

describe(‘cqh‘, () => {
    it(‘hello‘, async () => {
        let cqh = new Cqh();
        assert("hello chenqionghe", cqh.hello())
    });
});

我们运行一下,断言成功
技术图片

五、登录仓库

  • 官方仓库
npm adduser 
  • 私有仓库
npm adduser --registry 仓库地址

这里我登录的是官方的
技术图片

六、发布包

  • 官方仓库
npm publish
  • 私有仓库
npm publish --registry 仓库地址

发布如下
技术图片

登录官网可以看到已经发布成功了
技术图片

七、安装使用

  • 安装
npm install chenqionghe-demo

技术图片

  • 测试

新建index.js文件

const {Cqh} = require("chenqionghe-demo");
let cqh = new Cqh();
cqh.hello();

运行如下
技术图片

八、删除包

  • 删除指定版本
npm unpublish 包名@版本号 --force

  • 删除整个包(慎用、慎用、慎用)
npm unpublish  包名 --force

如果是私有仓库请加上--registry 仓库地址

下面演示了删除1.0.1的版本

npm unpublish chenqionghe-demo@1.0.1

技术图片

ok,就是这么简单,你学会了吗~

如何开发一个自己的npm包

标签:pac   log   仓库   describe   使用   ack   pts   info   版本   

原文地址:https://www.cnblogs.com/chenqionghe/p/13143993.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!