用 npm 做免费图床,这操作绝了!

最近发现了一个骚操作 ------ 用 npm 当图床,完全免费,还带全球 CDN 加速。分享一下具体实现过程。

为啥要用 npm 做图床?

先说说背景,我经常在各大平台写文章,需要上传图片。但:

  • 免费图床不稳定,容易挂
  • 自建图床成本高
  • 其他平台限制多

然后想到 npm,这不就是现成的 CDN 吗?全球访问速度还快。

怎么实现的?

1. 基本原理

npm 包本质上就是一堆文件,我们可以把图片放进去。发布后,npm 的 CDN 会自动分发这些文件。

访问方式:

ruby 复制代码
# unpkg
https://unpkg.com/包名@版本号/图片路径

# jsdelivr  
https://cdn.jsdelivr.net/npm/包名@版本号/图片路径

# PS
https://unpkg.com/cosmium@latest/images/other/npm-pic.png

2. 自动化发布npm包

每次提交图片后都需要手动发布到 npm那不是很烦, 别急github Actions可以帮我们自动发包, 可以直接fork 我的项目:github.com/Cosmiumx/co...

yaml 复制代码
name: Publish to npm

on:
  push:
    branches:
      - master

jobs:
    ....

3. 配置步骤

  1. Fork 本项目
    • 将本项目 Fork 到你的 GitHub 账号下。
  2. 修改包名
    • 编辑 package.json,将包名改为你自己的:
json 复制代码
{
  "name": "your-package-name",
  "version": "0.0.1",
  ...
}

注意:包名必须是 npm 上未被占用的名称。

  1. 创建 npm token

    • 访问 npmjs.com
    • 进入 Access Tokens 页面
    • 点击 Generate New Token → 选择 Bypass 2FA 类型 (npm最新规则token最长只能设置90天)
    • 记住这个 token,只显示一次
  2. 配置 GitHub Secrets

    • 在你 Fork 的仓库中:
    • 仓库 Settings → Secrets and variables → Actions
    • 添加 NPM_TOKEN,值为刚才的 token
  3. 上传图片

    • 把图片放到 images 目录
    • 提交代码,工作流自动发布

4. 访问方式

发布后,图片可通过以下 CDN 访问:

bash 复制代码
# unpkg
https://unpkg.com/cosmium@latest/images/your-image.png

# jsdelivr
https://cdn.jsdelivr.net/npm/cosmium@latest/images/your-image.png

实际体验

优点:

  • 完全免费,npm 不收费
  • 全球 CDN,访问速度快
  • 自动化流程,上传图片后自动发布
  • 版本管理清晰

注意事项:

  • ⚠️ npm 包一旦发布无法删除,版本号会永久保留
  • ⚠️ 不要上传敏感信息,npm 包是完全公开的
  • ⚠️ 遵守 npm 使用条款,不要滥用 CDN 服务
  • ⚠️ 图片版权,确保你有权使用并分发上传的图片

总结

这个方案算是找到了一个不错的图床替代方案,特别适合经常写技术文章的同学。虽然有点折腾,但效果不错。

有兴趣的可以 fork 我的项目:github.com/Cosmiumx/co...

配置好之后,以后上传图片就只是 git push 的事情了,还是很方便的。


如果这个方法对你有帮助,别忘了点赞支持一下~

相关推荐
WaterRun3 小时前
一个由Rust实现的, 好得多的Windows tree命令: tree++项目简介
rust·github
AI首席情报员_阿布3 小时前
agent-browser:让 AI Agent 像人一样浏览网页(节省93% Token)
github
Sahadev_6 小时前
GitHub 一周热门项目速览 | 2026年01月12日
github
37手游后端团队6 小时前
gorm回读机制溯源
后端·面试·github
散峰而望8 小时前
【算法竞赛】栈和 stack
开发语言·数据结构·c++·算法·leetcode·github·推荐算法
猫头虎8 小时前
2026最新|GitHub 启用双因素身份验证 2FA 教程:TOTP.app 一键生成动态验证码(新手小白图文实操)
git·开源·gitlab·github·开源软件·开源协议·gitcode
爱学英语的程序员9 小时前
让AI 帮我做了个个人博客(附提示词!)
人工智能·git·vue·github·node·个人博客
五仁火烧10 小时前
npm run build命令详解
前端·vue.js·npm·node.js