@laomu/npm-proxy
简单的npm包缓存服务器,不使用数据库,直接用本地文件
Last updated 2 years ago by laomu .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @laomu/npm-proxy 
SYNC missed versions from official npm registry.

npm包缓存服务器

简单的npm缓存服务,第一次请求的包会缓存到本地文件,后续再次请求时就直接使用本地服务。 无需数据库,直接使用本地静态资源作为服务器

安装

npm install @laomu/npm-proxy

使用

  1. 首先创建js文件,例如proxy.js
const proxy = require('@laomu/npm-proxy');
proxy({
    registry: 'registry.npm.baidu.com', // 转发到的npm服务地址
    port: 8221,                         // 本地监听端口
    timeout: 30000,                     // 缓存超时时间,定期对数据进行清理,单位秒,默认2天
    localhost: 'proxy.server.host:8221',// 远程加载时请求的服务器地址
    saveTo: __dirname + '/cache'        // 缓存文件保存目录
})
  1. 启动proxy.js
node proxy.js
# 或者
pm2 start proxy.js
  1. 如何使用缓存服务
npm install --registry=http://proxy.server.host:8221

如何工作

请求npm包信息时,转发请求前将包信息中的tgz地址更换为服务器地址,之后请求tgz包内容时会请求服务器地址 在请求转发后,将转发内容存储到服务器,下次请求相同文件时将直接使用本地文件而达到加速效果

问题

  • 因为存在缓存,最近发布的包的地址可能不在缓存内部,会出现下载失败的情况,此时可以通过访问链接http://proxy.server.host:8221/@clear/cache清空缓存(修改host为自己的host)

版本记录

  • v1.0.6
    • 增加主动清理缓存链接:/@clear/cache
  • v1.0.5
    • 清理记录时,不清理根文件夹,避免上传文件失败
  • v1.0.4
    • 增加upload配置项,可上传文件,默认关闭
  • v1.0.3
    • 增加timeout参数,配置缓存过期时间
  • v1.0.2
    • 基本缓存功能

Current Tags

  • 0.1.6                                ...           latest (2 years ago)

7 Versions

  • 0.1.6                                ...           2 years ago
  • 0.1.5                                ...           2 years ago
  • 0.1.4                                ...           2 years ago
  • 0.1.3                                ...           2 years ago
  • 0.1.2                                ...           2 years ago
  • 0.1.1                                ...           2 years ago
  • 0.1.0                                ...           2 years ago
Maintainers (1)
Downloads
Today 1
This Week 1
This Month 1
Last Day 0
Last Week 7
Last Month 12
Dependencies (5)
Dev Dependencies (0)
None
Dependents (0)
None

Copyright 2014 - 2016 © taobao.org |