标准库命名空间 sii
所有内建必须通过 sii. 调用;直接调用会在语义分析时报错。
文件与路径
-
readText(path: string): string
- path: string — 文件路径
- 返回: string — 文件内容
-
writeText(path: string, data: string): void
- path: string — 文件路径
- data: string — 写入文本
- 返回: void
-
exists(path: string): obj
- path: string — 路径
- 返回: obj — 运行时布尔;类型系统标为 obj
-
mkdirs(path: string): void
- path: string — 目录路径(递归创建)
- 返回: void
-
pathJoin(a: string, b: string): string
- a: string — 路径段
- b: string — 路径段
- 返回: string — 拼接路径
进程与环境
- cwd(): string
- env(key: string): string
- key: string — 环境变量名
- now(): int
JSON
- jsonParse(text: string): obj
- text: string — JSON 文本
- jsonStringify(value: obj): string
- value: obj — 对象
命令执行
- exec(cmd: string): int
- cmd: string — shell 命令
- execOut(cmd: string): string
- cmd: string — shell 命令
HTTP(简化内置)
- get(path: string, handler: function|string): void
- post(path: string, handler: function|string): void
- listen(port: int): void
- respText(res: obj, text: string): void
- respJson(res: obj, value: obj): void
- respHtml(res: obj, html: string): void
日志
—— 以下各小节提供签名、参数、返回、示例与注意事项 ——
文件与路径(详细)
签名
readText(path: string): string
writeText(path: string, data: string): void
exists(path: string): obj
mkdirs(path: string): void
pathJoin(a: string, b: string): string
参数
- path: string — 文件或目录路径
- data: string — 写入文本
- a: string — 路径段
- b: string — 路径段
返回
- readText → string
- writeText → void
- exists → obj(运行时布尔)
- mkdirs → void
- pathJoin → string
示例
let p: string = "tmp.txt";
sii.writeText(p, "hello");
print(sii.readText(p));
注意事项
exists的返回在类型系统中标为 obj,分支判断时按布尔处理。
命令执行(详细)
签名
exec(cmd: string): int
execOut(cmd: string): string
参数
- cmd: string — shell 命令
返回
- exec → 退出码(int)
- execOut → 标准输出(string)
示例
print("code=", sii.exec("node -v"));
print("out=", sii.execOut("node -v"));
注意事项
exec在部分命令下可能阻塞当前进程;错误码需自行判断。
HTTP(详细)
签名
get(path: string, handler: function|string): void
post(path: string, handler: function|string): void
listen(port: int): void
respText(res: obj, text: string): void
respJson(res: obj, value: obj): void
respHtml(res: obj, html: string): void
参数
- path: string — 路径(完全匹配)
- handler: function|string — 处理函数或函数名
- port: int — 端口
- res: obj — 响应对象
- text: string — 文本
- value: obj — JSON 对象
- html: string — HTML 文本
返回
- 全为 void
示例
sii.get("/", "home");
func home(req: obj, res: obj): void {
sii.respText(res, "OK");
}
sii.listen(3000);
注意事项
- 路由采用“严格相等”匹配;未匹配返回 404。
- 运行期基于 Node.js http;在 IDE 内可直接运行测试。
- log(...): void
- warn(...): void
- error(...): void