# 快速上手

注意

  • 目前 Surgio 仅支持 Node.js 版本 >= 12
  • 文档中出现的命令如无特殊说明都只能运行在 macOS, Linux 或者 WSL 上

# 安装 Node.js

提示

如果已安装可跳过

前往下载 Node.js (opens new window)

# 新建一个配置仓库

# 安装
npm init surgio-store my-rule-store

# 或 使用国内镜像安装
npm init surgio-store my-rule-store --use-cnpm

# 来到仓库目录
cd my-rule-store
1
2
3
4
5
6
7
8

# 术语解释

在进入正题之前,我们先解释一下核心的几个术语:

# Provider -- 提供方

节点的提供方,可以是一个订阅地址也可以是一组节点的配置。

# Template -- 模板

Surgio 根据模板来渲染指定的文件。

# Artifact -- 产品

Surgio 生成出的规则就是「产品」。

提示

以上三者的关系简单来说就是:Surgio 根据 Artifact 的定义将 Provider 的节点用 Template 生成出来可用的配置。

# 目录结构





 
 
 

./my-rule-store
├── node_modules
├── package-lock.json
├── package.json
├── provider
├── surgio.conf.js
└── template
1
2
3
4
5
6
7

你只需要关心高亮的 surgio.conf.js, providertemplate 三个东西。

仓库中已经包含了一些用于演示的代码。我们会在后面一节说明如何自定义它们。

# 生成规则

npx surgio generate
1

规则已经生成到 dist 目录了。

# 上传规则

npx surgio upload
1

你也可以使用预设好的组合命令,生成后上传规则:

npm run update
1

注意

请确保已配置阿里云 OSS。

# 如何自定义

推荐想使用 Surgio 的朋友先熟悉一下三大件 Artifact, Provider 和 Template 分别包含什么功能再尝试自定义。

Surgio 提供了一个新建组件的助手命令,你可以通过它来初始化想要的组件。

npx surgio new [artifact|provider|template]
1

# 样例

除了你使用 init 命令生成的初始仓库之外,你还可以在 这里 (opens new window) 找到其它使用样例。

# 升级 Surgio

确保你当前的版本和新版没有兼容性问题后,运行下面命令即可。

$ npm install surgio@latest
1

升级 API 网关

$ npm install @surgio/gateway@latest
1

# 配置文件

Surgio 的配置文件位于目录内的 surgio.conf.js