权限
为 Lume 配置 Deno 的权限
Deno 有一个权限系统,允许配置对不同 API 的访问,例如环境变量、文件系统读写、网络访问等等。 更多信息请参阅 Deno 权限手册。
Lume 默认使用 -A
标志 (或 --allow-all
) 执行,允许所有权限。在 deno.json
文件中生成的 Lume 任务使用以下脚本来运行 Lume:
{
"importMap": "import_map.json",
"tasks": {
"lume": "echo \"import 'lume/cli.ts'\" | deno run -A -",
"build": "deno task lume",
"serve": "deno task lume -s"
}
}
这个脚本会输出 import 'lume/cli.ts'
代码,然后执行它。这允许使用 import map 解析 lume/cli.ts
模块,因此可以通过编辑 import_map.json
文件来更新 Lume。
如果您担心授予 Lume 的权限并希望自定义它们,可以通过在 lume
任务中将 -A
标志替换为您所需的权限标志来实现。例如:
这是一个配置了一些权限的 Lume 任务示例:
{
"importMap": "import_map.json",
"tasks": {
"lume": "echo \"import 'lume/cli.ts'\" | deno run --allow-net --allow-read=./ --allow-write=./_site -",
"build": "deno task lume",
"serve": "deno task lume -s"
}
}