如何预编译Deno脚本?有无仅缓存编译结果不运行脚本的命令?
有的,你可以使用Deno内置的deno cache命令实现只预编译缓存、不运行脚本的需求。
原理解释
首次执行deno run script.ts速度慢,是因为Deno需要完成三个步骤:
- 下载脚本的所有远程依赖
- 把TypeScript代码编译为可执行的JavaScript代码
- 将编译产物和依赖写入本地缓存目录
第二次运行时会直接读取本地缓存的产物,所以速度会明显提升。
具体使用方法
直接执行如下命令即可完成对应脚本的全量预编译与缓存:
deno cache script.ts
这个命令执行全程不会运行脚本的任何业务代码,仅完成依赖拉取、编译、缓存写入的流程。
常用补充参数
- 如果需要强制刷新所有缓存、重新编译,可以加上
--reload参数:deno cache --reload script.ts - 如果你的脚本运行时需要用到特殊编译标识(比如
--unstable、特定的API权限标识),缓存时需要带上相同的参数,避免后续运行时因为参数不匹配重新编译:# 示例:对应运行命令为 deno run --unstable --allow-net script.ts deno cache --unstable --allow-net script.ts
内容的提问来源于stack exchange,提问作者Alex Craft
相关产品推荐
相关产品推荐

