运行代码文件
运行代码
✍在本篇内容中你将学习到如何运行代码文件这一基础功能。看上去内容很多?其实非常简单。
需要特别说明的是,代码文件是各编程语言程序文件的统称,并非所有代码文件都属于脚本类型。
❖ Arcadia CLI - 执行代码文件
使用方法:
arcadia run <name/path/url> [--options]
命令选项:
-l, --loop 循环运行 - 连续多次的执行代码文件,选项后需跟循环次数
-s, --silent 静默运行 - 不推送任何通知消息
-w, --wait 推迟执行 - 等待指定时间后再运行任务,选项后需跟时间值
-D, --delay 延迟执行 - 随机倒数一定秒数后再执行代码文件
-d, --daemon 守护进程 - 将代码文件设置为守护进程保持在后台运行,期间中断或结束会自动重新运行
-a, --agent 网络代理 - 使代码文件的 HTTP/HTTPS 网络请求通过全局代理进行,仅支持 Node.js 和 ts-node
-T, --timeout 运行超时 - 设置运行任务超时机制,选项后需跟 timeout 指令的参数作为选项值
-N, --no-log 不记录日志 - 不存储代码运行日志到本地
-p, --proxy 启用下载代理 - 仅适用于执行位于 GitHub 仓库的代码文件,代理固定为 jsDelivr CDN
-c, --concurrent 并发运行 - 默认运行1个任务,若想增加运行任务数量那么请传参任务数量
-t, --thread 并发线程数 - 指定同时运行的最大任务数量,选项后需跟正整数,需与并发运行同时使用
-b, --background 后台运行 - 不在前台输出代码执行进度,不占用终端命令行
-r, --recombine-env 变量重组 - 按照指定顺序重新组合复合变量的值,选项后需跟变量名称、分隔符、重组表达式
表达式语法:多个值用 "," 隔开,值区间用 "-" 连接,可以用 "%" 表示值的总数
-R, --recombine-env-group 分组运行 - 为每组变量单独运行,是变量重组的扩展,传参基本一致,其中重组表达式内用 "@" 来区分不同组
-S, --split-env 拆分运行 - 将复合变量的值拆分后为每个值声明变量并单独运行代码文件,选项后需跟需要拆分的变量名称、分隔符
-E, --exec-args 执行参数 - 将该选项后面的内容作为参数传递给代码执行器
-- 传递选项,将该选项后面的所有内容都作为选项参数传递给代码文件
--deno,--use-deno 使用 Deno 作为 JavaScript 和 TypeScript 的运行时环境
--bun,--use-bun 使用 Bun 作为 JavaScript 和 TypeScript 的运行时环境
--ts-node,--use-ts-node 使用 ts-node 作为 TypeScript 的执行器
命令帮助:
<name> 文件名(仅scripts目录) <path> 相对路径或绝对路径 <url> 链接地址 [--options] 命令选项使用方法
arcadia run <name/path/url> [--options]文件名称 name
仅限 scripts 个人目录下的代码文件,并且仅涵盖 根目录,你可以把你常用的脚本存放在这里
路径 path
相对路径或绝对路径,支持使用 . 或 ./ 作为当前目录和用 ../ 作为上级目录,如果运行本地的个人代码文件则可以省略路径
如果运行的是已配置的代码仓库中的代码文件可以使用相对路径,例如 /arcadia/repo/<仓库目录名称>/example.js 可以使用 repo/example.js 替代
链接地址 <url>
运行后代码文件默认保存在 scripts 个人目录,支持链接自动纠正功能
链接自动纠正功能是当拉取位于远程托管仓库的代码文件时可自动将 blob 链接转换为 raw 原始文件链接,此功能已应用到整个项目
命令选项 [--options]
用于实现一些扩展功能,具体请查看下方的文档内容
基础概念
命令选项
使用方法:追加在命令的末尾,熟练后可以使用简写
一个高级的应用程序CLI指令往往有着复杂的命令选项设计,这可能是一个漫长的学习过程~
| 选项 | 用途 | 选项值 | 描述 |
|---|---|---|---|
-l, --loop | 循环运行 | 是 | 连续多次运行代码文件,选项后需跟 循环次数(正整数),该参数与 等待执行 和 延迟执行 参数同时使用时仍然有效互不干涉 |
-s, --silent | 静默运行 | 否 | 静默运行任务不推送任何通知消息 |
-w, --wait | 推迟执行 | 是 | 等待指定时间后再运行代码文件,选项后需跟 等待时间单位 作为参数值,具体参照 sleep 命令的用法 |
-D, --delay | 延迟执行 | 否 | 随机倒数一定秒数后再运行代码文件,该秒数上限可以在配置文件中定义 |
-d, --daemon | 守护进程 | 否 | 通过 PM2 将代码文件设置为守护进程保持在后台运行,期间中断或结束会自动重新运行 |
-a, --agent | 网络代理 | 否 | 使代码文件的 HTTP/HTTPS 网络请求通过全局代理进行,仅支持 Node.js 和 ts-node,使用该功能需要自行在配置文件对应处定义代理地址变量 |
-T, --timeout | 运行超时 | 是 | 设置运行任务超时机制,选项后需跟 timeout 指令的参数作为选项值 |
-N, --no-log | 不记录日志 | 否 | 不存储代码运行日志到本地 |
-p, --proxy | 启用下载代理 | 否 | 仅适用于执行位于 GitHub 仓库的代码文件,该代理固定为 jsDelivr 公共 CDN 加速代理 |
-c, --concurrent | 并发运行 | 否 | 默认运行1个任务,若想增加运行任务数量那么请传参 任务数量(正整数) |
-t, --thread | 指定并发线程 | 是 | 指定同时运行的最大任务数量,选项后需跟正整数,需与并发运行同时使用 |
-b, --background | 后台运行 | 否 | 不在前台输出代码执行进度,不占用终端命令行 |
-r, --recombine-env | 变量重组 | 是 | 按照指定顺序重新组合复合变量的值,选项后需跟变量名称、分隔符、重组表达式。表达式语法:多个值用 , 隔开,值区间用 - 连接,可以用 % 表示值的总数 |
-R, --recombine-env-group | 分组运行 | 是 | 基于变量重组功能上的扩展应用,为每组变量单独运行代码文件,传参与变量重组功能基本一致,其中重组表达式内用 @ 来区分不同组 |
-S, --split-env | 拆分运行 | 是 | 将复合变量的值拆分后为每个值声明变量并单独运行代码文件,选项后需跟需要拆分的变量名称、分隔符 |
-E, --exec-args | 执行参数 | 是 | 将该选项后面的内容作为参数传递给代码执行器 |
-- | 传递选项 | 是 | 将该选项后面的所有内容都作为选项参数传递给代码文件 |
--deno, --use-deno | Deno | 否 | 使用 Deno 作为 JavaScript 和 TypeScript 的运行时环境,替代 Node.js 和 tsx |
--bun, --use-bun | Bun | 否 | 使用 Bun 作为 JavaScript 和 TypeScript 的运行时环境,替代 Node.js 和 tsx |
--ts-node, --use-ts-node | ts-node | 否 | 使用 ts-node 作为 TypeScript 的执行器,替代 tsx |
终止运行
arcadia stop <name/path>终止某个或某些正在运行中的代码程序,根据代码文件名称搜索对应的进程并立即杀死,支持终止多进程任务
<name> 文件名(仅scripts目录)
<path> 相对路径或绝对路径

