<返回更多

通过cnpm搭建自己的私仓库

2020-03-05    
加入收藏

看到一个面试题,原生小程序中api的调用,都是回掉函数,怎么处理成优雅的链式调用呢?

那肯定是通过promise 封装起来啊,怎么封装呢?很简单,代码如下

/**
 *
 * promisify化api
 *
 * @param {string} swan 小程序(swan, wx等)
 * @param {string} method api名字
 * @param {object} options api参数
 * @return {function(*=): Promise<*>} promisify的api
 */

 export default const promisify = swan => method => 。options => new Promise((resolve, reject) => {
 	if (!swan[method]) {
 		reject();
 	}
 	swan[method]({
 		...options,
 		success: res => resolve(res),
        fail: err => reject(err)
 	});
 });

封装起来很简单,我想把封装好的东西,可以让其他人公用,但是不想每次需要用的时候都要手动copy代码,怎么办呢?网上有很多教程,我这边记录一下我选用的cnpm搭建的过程

通过cnpm搭建自己的私仓库

1.安装

npm install -g --build-from-source cnpmjs.org cnpm sqlite3
# 如果报错或者警告通过下面方式安装
npm install -g --unsafe-perm --verbose --build-from-source cnpmjs.org cnpm sqlite3

 

通过cnpm搭建自己的私仓库

安装响应的包

 

2.启动并配置服务

// 管理员:eric@baidu.com
// 范围:@duer
// 默认端口:7001-registry, 7002-web
nohup cnpmjs.org start --admins='10xxxxxx@qq.com' --scopes='@duer'

 

通过cnpm搭建自己的私仓库

配置并启动服务

3.设置注册地址

将cnpm默认注册地址更改为私有注册地址

cnpm set registry http://localhost:7001

4.登录cnpm


 

 

通过cnpm搭建自己的私仓库

注册,登录

5.创建上传到私有库

把开头我们promisify的文件,上传到我们的私有库

cnpm publish

 

通过cnpm搭建自己的私仓库

上传到私有库

6.预览我们的包

浏览器预览我们的包

open http://localhost:7002/@duer/promisify

 

通过cnpm搭建自己的私仓库

浏览器自动打开这个页面,是不是很熟悉

7.安装

cnpm install @duer/promisify

好了,就到这里了。

 

注: 既然已经封装好了,就把连接贴出来吧

https://github.com/airwaycai/promisify/blob/master/index.ts

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍最近更新
更多资讯 >>>