专业的编程技术博客社区

网站首页 > 博客文章 正文

通过cnpm搭建自己的私仓库(搭建内网npm仓库)

baijin 2024-11-17 06:58:56 博客文章 3 ℃ 0 评论

看到一个面试题,原生小程序中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



2.启动并配置服务

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


3.设置注册地址

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

cnpm set registry http://localhost:7001

4.登录cnpm


5.创建上传到私有库

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

cnpm publish


6.预览我们的包

浏览器预览我们的包

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


7.安装

cnpm install @duer/promisify

好了,就到这里了。


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

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

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表