如何部署unpkg至服务器
Rootlex

前言

unpkg 是一个前端常用的公共CDN,用来解包npm,但是有时会出现无法访问的状况。因为unpkg是一个开源项目,所以我们可以自己动手部署一个unpkg在自己的服务器上。

准备

  1. 一台Linux服务器
  2. ssh工具
  3. 一台能联网的电脑

正文索引

  1. 安装nodejs
  2. 从GitHub克隆Unpkg源码
  3. 运行Unpkg

正文

安装完宝塔面板后,得先检查是否开启防火墙的8888端口 腾讯云轻量为例,我们点开实例 firewall.png

防火墙 然后点添加规则 creatfirewall.png

在端口输入8888 然后点确定之后登录你的宝塔面板 btnode.png

依次点击网站,然后点击node 初次安装需要安装node环境,按照给的提示做就行

nodev

在选择版本这里选16.13.2 (其他版本博主没有测试过,所以有可能会出现问题)

从GitHub克隆代码

点击终端 zhongdaunbt 输入

git clone https://github.com/mjackson/unpkg.git

完成克隆后输入命令

pwd

注意这是centos的命令,其他系统可以上百度查询

记下输出的路径,这样子可以方便后面找这个文件 pwd

运行Unpkg

由于unpkg部署在cloudflare上所在unpkg源码中有关于cloudflare由于我们没有使用cloudflare,所以我们要删除相关组件 我们找到modules/createServer.js 然后删除以下两行代码

- import serveStats from './actions/serveStats.js';
- app.get('/api/stats', serveStats);

接下来我们得要重新构建node项目 首先我们得要下载构建依赖,在终端输入

npm i rollup

然后我们编辑package.json ,在"postinstall": "yarn run build",下面添加"start": "set NODE_ENV=production&&node server.js"

{
  "name": "unpkg",
  "private": true,
  "description": "The CDN for everything on npm",
  "scripts": {
    "build": "rollup -c",
    "clean": "git clean -e '!/.env' -fdX .",
    "lint": "eslint .",
    "serve": "nodemon -w server.js server.js",
    "test": "jest",
    "watch": "rollup -c -w",
    "postinstall": "yarn run build",
+   "start": "set NODE_ENV=production&&node server.js"
  },
  "depen

然后在Unpkg文件位置打开终端输入

npm run build

npm run build 等待其生成 server.js 接下来我们回到 网站然后点击 node项目,接下来点击 添加node项目

  1. 项目地址:unpkg的根目录
  2. 项目名称:随便输一个就行
  3. 启动选项:选择 strat ...
  4. 项目端口:填 8080
  5. 运行用户:选 www就行了
  6. node版本: 你的node版本
  7. 绑定域名:你的域名 & 如果没有就输入服务器ip

npmsetting 接下来点击提交 然后我们点击设置 nodesetting 然后点击 外网映射 ,开启 外网映射 然后我们点击运行状态下面显示的未启动,将它启动 run 接下来我们打开8080防火墙然后访问就可以啦 地址:你的域名 unpkg 如果你觉得速度不行可以自己套cdn

博主的unpkg镜像

已失效

写在后面

本文参考了一下前辈的文章

  1. 删减cloufalre配置项 https://www.cnblogs.com/rongfengliang/p/14410193.html
  2. 添加package.json启动代码 https://blog.csdn.net/weixin_39868248/article/details/111621946

非常感谢!!!!💕