在npm中,可以在脚本(*
)之前(pre*
)或之后(post*
)运行脚本。https://docs.npmjs.com/cli/v6/using-npm/scripts
有没有一种方法可以对deno.json任务做同样的事情?
目前我是这样处理的:
{
"tasks": {
"start": "deno run -A --unstable --watch=static/,routes/ dev.ts",
"pretest": "jq -s '.[0] * .[1]' import_map.json unit.test.import_map.json > unit.test.import_map.gen.json",
"test": "deno task pretest && deno test --allow-read --watch --import-map=unit.test.import_map.gen.json"
},
"importMap": "./import_map.json",
"compilerOptions": {
"jsx": "react-jsx",
"jsxImportSource": "preact"
}
}
1条答案
按热度按时间zazmityj1#
不,Deno的任务运行器不支持该模式。
除了最近对Node.js生态系统的支持外,Deno的历史哲学一直是更喜欢显式行为而不是不透明和自动/算法默认值。
如果你喜欢
npm
的运行器的行为,你可以使用一个package.json
文件来管理你的任务/脚本,并使用npm
运行它们-只要你觉得方便,Deno的任务运行器也可以从该文件运行单个脚本-从手册:package.json支持
如果发现
deno task
,则福尔斯退到从package.json文件中的"scripts"
条目阅读。请注意,Deno不尊重或支持任何npm生命周期事件,如preinstall
或postinstall
-您必须显式地运行您想要运行的脚本条目(例如:deno cache main.ts && deno task postinstall
)。任务运行者参考: