注册
web

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

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

为啥要用 npm 做图床?

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

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

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

怎么实现的?

1. 基本原理

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

访问方式:

# 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…

name: Publish to npm

on:
push:
branches:
- master

jobs:
....

3. 配置步骤

  1. Fork 本项目
    • 将本项目 Fork 到你的 GitHub 账号下。
  2. 修改包名
    • 编辑 package.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 访问:

# 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 的事情了,还是很方便的。


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


作者:Cosmium
来源:juejin.cn/post/7594385386740629523

0 个评论

要回复文章请先登录注册