typescript deno.json前脚本和后脚本选项,如npm

6kkfgxo0  于 2023-05-19  发布在  TypeScript
关注(0)|答案(1)|浏览(200)

在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"
  }
}
zazmityj

zazmityj1#

不,Deno的任务运行器不支持该模式。
除了最近对Node.js生态系统的支持外,Deno的历史哲学一直是更喜欢显式行为而不是不透明和自动/算法默认值。
如果你喜欢npm的运行器的行为,你可以使用一个package.json文件来管理你的任务/脚本,并使用npm运行它们-只要你觉得方便,Deno的任务运行器也可以从该文件运行单个脚本-从手册:

package.json支持

如果发现deno task,则福尔斯退到从package.json文件中的"scripts"条目阅读。请注意,Deno不尊重或支持任何npm生命周期事件,如preinstallpostinstall-您必须显式地运行您想要运行的脚本条目(例如:deno cache main.ts && deno task postinstall)。
任务运行者参考:

相关问题