[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"knowledge-\u002Fapi\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Fbase":3,"knowledge-related-\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Fbase":1102,"knowledge-series-\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Fbase":1119},{"source":4,"connector":5,"page":6},"sqlite","better-sqlite3",{"path":7,"title":8,"description":9,"category":10,"tags":11,"date":13,"pinned":14,"draft":14,"body":15,"seo":1098,"stem":1099,"id":1100,"extension":1101},"\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Fbase","Deno 基础","Deno 是基于 V8 与 Rust 的 JavaScript\u002FTypeScript 运行时，由 Node.js 原作者 Ryan Dahl 发起。官方文档：docs.deno.com。与 Node、Bun 的对比见 运行时对比。","技能小册",[12],"deno","2026-06-01",false,{"type":16,"value":17,"toc":1083},"minimark",[18,22,53,57,193,196,300,304,387,391,445,448,506,587,590,646,649,710,720,723,743,810,819,822,825,872,875,927,930,972,975,1018,1021,1024,1079],[19,20,8],"h1",{"id":21},"deno-基础",[23,24,25,32,33,37,38,41,42,47,48,52],"p",{},[26,27,31],"a",{"href":28,"rel":29},"https:\u002F\u002Fdeno.com\u002F",[30],"nofollow","Deno"," 是基于 ",[34,35,36],"strong",{},"V8"," 与 ",[34,39,40],{},"Rust"," 的 JavaScript\u002FTypeScript 运行时，由 Node.js 原作者 Ryan Dahl 发起。官方文档：",[26,43,46],{"href":44,"rel":45},"https:\u002F\u002Fdocs.deno.com\u002F",[30],"docs.deno.com","。与 Node、Bun 的对比见 ",[26,49,51],{"href":50},"\u002Fknowledge\u002Fbooklet\u002Fend\u002Fbun-deno-node","运行时对比","。",[54,55,56],"h2",{"id":56},"学习路径",[58,59,60,76],"table",{},[61,62,63],"thead",{},[64,65,66,70,73],"tr",{},[67,68,69],"th",{},"顺序",[67,71,72],{},"主题",[67,74,75],{},"文档",[77,78,79,91,105,123,137,151,165,179],"tbody",{},[64,80,81,85,88],{},[82,83,84],"td",{},"1",[82,86,87],{},"概念与选型",[82,89,90],{},"本文",[64,92,93,96,99],{},[82,94,95],{},"2",[82,97,98],{},"安装与版本",[82,100,101],{},[26,102,104],{"href":103},"\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Finstall","安装",[64,106,107,110,117],{},[82,108,109],{},"3",[82,111,112,113],{},"命令与 ",[114,115,116],"code",{},"deno.json",[82,118,119],{},[26,120,122],{"href":121},"\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Finit","初始化",[64,124,125,128,131],{},[82,126,127],{},"4",[82,129,130],{},"权限（核心差异）",[82,132,133],{},[26,134,136],{"href":135},"\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Fauth","权限",[64,138,139,142,145],{},[82,140,141],{},"5",[82,143,144],{},"依赖（JSR \u002F npm \u002F URL）",[82,146,147],{},[26,148,150],{"href":149},"\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Fpackage","包管理",[64,152,153,156,159],{},[82,154,155],{},"6",[82,157,158],{},"工具链",[82,160,161],{},[26,162,164],{"href":163},"\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Ftools","内置工具",[64,166,167,170,173],{},[82,168,169],{},"7",[82,171,172],{},"HTTP",[82,174,175],{},[26,176,178],{"href":177},"\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Fhttp","HTTP 服务",[64,180,181,184,187],{},[82,182,183],{},"8",[82,185,186],{},"环境变量与调试",[82,188,189],{},[26,190,192],{"href":191},"\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Fother","其他",[54,194,195],{"id":195},"设计目标",[58,197,198,208],{},[61,199,200],{},[64,201,202,205],{},[67,203,204],{},"目标",[67,206,207],{},"说明",[77,209,210,228,240,260,279],{},[64,211,212,215],{},[82,213,214],{},"安全默认",[82,216,217,218,221,222,227],{},"无 ",[114,219,220],{},"--allow-*"," 时，运行中的代码不能随意读写文件、访问网络、读环境变量等（见 ",[26,223,226],{"href":224,"rel":225},"https:\u002F\u002Fdocs.deno.com\u002Fruntime\u002Ffundamentals\u002Fsecurity\u002F",[30],"Security","）",[64,229,230,233],{},[82,231,232],{},"原生 TypeScript",[82,234,235,236,239],{},"可直接 ",[114,237,238],{},"deno run app.ts","，无需单独编译步骤",[64,241,242,245],{},[82,243,244],{},"Web 标准 API",[82,246,247,248,251,252,255,256,259],{},"内置 ",[114,249,250],{},"fetch","、",[114,253,254],{},"Request","\u002F",[114,257,258],{},"Response"," 等",[64,261,262,265],{},[82,263,264],{},"工具内置",[82,266,267,251,270,251,273,251,276],{},[114,268,269],{},"deno fmt",[114,271,272],{},"deno lint",[114,274,275],{},"deno test",[114,277,278],{},"deno doc",[64,280,281,284],{},[82,282,283],{},"现代模块",[82,285,286,287,251,290,37,293,295,296,299],{},"ESM 为主；通过 ",[114,288,289],{},"npm:",[114,291,292],{},"jsr:",[114,294,116],{}," 的 ",[114,297,298],{},"imports"," 管理依赖",[54,301,303],{"id":302},"与-nodejs-的主要区别","与 Node.js 的主要区别",[58,305,306,317],{},[61,307,308],{},[64,309,310,312,314],{},[67,311],{},[67,313,31],{},[67,315,316],{},"Node.js",[77,318,319,333,360,376],{},[64,320,321,323,330],{},[82,322,136],{},[82,324,325,326,329],{},"默认拒绝，需 ",[114,327,328],{},"--allow-read"," 等显式授权",[82,331,332],{},"进程级默认可访问多数 I\u002FO",[64,334,335,338,352],{},[82,336,337],{},"项目配置",[82,339,340,341,343,344,347,348,351],{},"以 ",[114,342,116],{}," \u002F ",[114,345,346],{},"deno.jsonc"," 为主；也可配合 ",[114,349,350],{},"package.json","（Node 兼容场景）",[82,353,354,356,357],{},[114,355,350],{}," + ",[114,358,359],{},"node_modules",[64,361,362,365,373],{},[82,363,364],{},"依赖来源",[82,366,367,368,251,370,372],{},"URL、",[114,369,292],{},[114,371,289],{}," 等，由 Deno 缓存",[82,374,375],{},"npm 注册表",[64,377,378,381,384],{},[82,379,380],{},"顶层 await",[82,382,383],{},"模块顶层支持",[82,385,386],{},"ESM 模块顶层支持",[54,388,390],{"id":389},"何时考虑-deno","何时考虑 Deno",[58,392,393,402],{},[61,394,395],{},[64,396,397,400],{},[67,398,399],{},"场景",[67,401,207],{},[77,403,404,412,420,437],{},[64,405,406,409],{},[82,407,408],{},"脚本\u002FCLI、安全沙箱",[82,410,411],{},"权限模型便于限制第三方代码",[64,413,414,417],{},[82,415,416],{},"新项目、少配置",[82,418,419],{},"内置 fmt\u002Flint\u002Ftest",[64,421,422,425],{},[82,423,424],{},"需要 npm 生态",[82,426,427,428,430,431,436],{},"Deno 2 起支持 ",[114,429,289],{}," 与 Node API 兼容（以",[26,432,435],{"href":433,"rel":434},"https:\u002F\u002Fdocs.deno.com\u002Fruntime\u002Freference\u002Fnode_api\u002F",[30],"官方兼容说明","为准）",[64,438,439,442],{},[82,440,441],{},"已有大量 Node 原生 addon",[82,443,444],{},"迁移前需在目标 Deno 版本下验证依赖",[54,446,447],{"id":447},"快速示例",[449,450,455],"pre",{"className":451,"code":452,"language":453,"meta":454,"style":454},"language-typescript shiki shiki-themes material-theme-lighter github-light github-dark","\u002F\u002F hello.ts\nconsole.log(\"Hello Deno!\");\n\u002F\u002F deno run hello.ts\n","typescript","",[114,456,457,466,500],{"__ignoreMap":454},[458,459,462],"span",{"class":460,"line":461},"line",1,[458,463,465],{"class":464},"sutJx","\u002F\u002F hello.ts\n",[458,467,469,473,477,481,484,488,492,494,497],{"class":460,"line":468},2,[458,470,472],{"class":471},"su5hD","console",[458,474,476],{"class":475},"sP7_E",".",[458,478,480],{"class":479},"sGLFI","log",[458,482,483],{"class":471},"(",[458,485,487],{"class":486},"sjJ54","\"",[458,489,491],{"class":490},"s_sjI","Hello Deno!",[458,493,487],{"class":486},[458,495,496],{"class":471},")",[458,498,499],{"class":475},";\n",[458,501,503],{"class":460,"line":502},3,[458,504,505],{"class":464},"\u002F\u002F deno run hello.ts\n",[449,507,509],{"className":451,"code":508,"language":453,"meta":454,"style":454},"\u002F\u002F fetch.ts — 需要网络权限\nconst res = await fetch(\"https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdenoland\u002Fdeno\");\nconsole.log((await res.json()).full_name);\n\u002F\u002F deno run --allow-net=deno.land,api.github.com fetch.ts\n",[114,510,511,516,550,581],{"__ignoreMap":454},[458,512,513],{"class":460,"line":461},[458,514,515],{"class":464},"\u002F\u002F fetch.ts — 需要网络权限\n",[458,517,518,522,526,530,534,537,539,541,544,546,548],{"class":460,"line":468},[458,519,521],{"class":520},"sbsja","const",[458,523,525],{"class":524},"s_hVV"," res",[458,527,529],{"class":528},"smGrS"," =",[458,531,533],{"class":532},"sVHd0"," await",[458,535,536],{"class":479}," fetch",[458,538,483],{"class":471},[458,540,487],{"class":486},[458,542,543],{"class":490},"https:\u002F\u002Fapi.github.com\u002Frepos\u002Fdenoland\u002Fdeno",[458,545,487],{"class":486},[458,547,496],{"class":471},[458,549,499],{"class":475},[458,551,552,554,556,558,561,564,566,568,571,574,576,579],{"class":460,"line":502},[458,553,472],{"class":471},[458,555,476],{"class":475},[458,557,480],{"class":479},[458,559,560],{"class":471},"((",[458,562,563],{"class":532},"await",[458,565,525],{"class":471},[458,567,476],{"class":475},[458,569,570],{"class":479},"json",[458,572,573],{"class":471},"())",[458,575,476],{"class":475},[458,577,578],{"class":471},"full_name)",[458,580,499],{"class":475},[458,582,584],{"class":460,"line":583},4,[458,585,586],{"class":464},"\u002F\u002F deno run --allow-net=deno.land,api.github.com fetch.ts\n",[54,588,589],{"id":589},"内置命令速览",[449,591,595],{"className":592,"code":593,"language":594,"meta":454,"style":454},"language-bash shiki shiki-themes material-theme-lighter github-light github-dark","deno --version\ndeno init\ndeno run main.ts\ndeno fmt && deno lint && deno test\n","bash",[114,596,597,606,613,623],{"__ignoreMap":454},[458,598,599,602],{"class":460,"line":461},[458,600,12],{"class":601},"sbgvK",[458,603,605],{"class":604},"stzsN"," --version\n",[458,607,608,610],{"class":460,"line":468},[458,609,12],{"class":601},[458,611,612],{"class":490}," init\n",[458,614,615,617,620],{"class":460,"line":502},[458,616,12],{"class":601},[458,618,619],{"class":490}," run",[458,621,622],{"class":490}," main.ts\n",[458,624,625,627,630,633,636,639,641,643],{"class":460,"line":583},[458,626,12],{"class":601},[458,628,629],{"class":490}," fmt",[458,631,632],{"class":475}," &&",[458,634,635],{"class":601}," deno",[458,637,638],{"class":490}," lint",[458,640,632],{"class":475},[458,642,635],{"class":601},[458,644,645],{"class":490}," test\n",[54,647,648],{"id":648},"版本发布与稳定性",[58,650,651,660],{},[61,652,653],{},[64,654,655,658],{},[67,656,657],{},"概念",[67,659,207],{},[77,661,662,676,686,696],{},[64,663,664,669],{},[82,665,666],{},[34,667,668],{},"稳定版（stable）",[82,670,671,672,675],{},"常规发布渠道，",[114,673,674],{},"deno --version"," 显示的默认版本",[64,677,678,683],{},[82,679,680],{},[34,681,682],{},"LTS",[82,684,685],{},"Deno 也提供长期支持渠道，追求生产环境的稳定性可优先选择",[64,687,688,693],{},[82,689,690],{},[34,691,692],{},"Canary",[82,694,695],{},"每日构建，包含最新特性但可能不稳定，仅用于尝鲜或验证修复",[64,697,698,703],{},[82,699,700],{},[34,701,702],{},"不稳定 API",[82,704,705,706,709],{},"部分新 API 需要 ",[114,707,708],{},"--unstable-*"," 标志才能使用，代表尚未定稿，升级需关注变更日志",[23,711,712,713,716,717,52],{},"版本切换可用 ",[114,714,715],{},"deno upgrade --version \u003Cx.y.z>","，详见 ",[26,718,719],{"href":103},"安装与环境",[54,721,722],{"id":722},"编辑器支持",[724,725,726],"ul",{},[727,728,729,732,733,738,739,742],"li",{},[34,730,731],{},"VS Code","：安装官方 ",[26,734,737],{"href":735,"rel":736},"https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=denoland.vscode-deno",[30],"Deno 扩展","，并在项目根目录创建 ",[114,740,741],{},".vscode\u002Fsettings.json","：",[449,744,747],{"className":745,"code":746,"language":570,"meta":454,"style":454},"language-json shiki shiki-themes material-theme-lighter github-light github-dark","{\n  \"deno.enable\": true,\n  \"deno.lint\": true,\n  \"deno.unstable\": false\n}\n",[114,748,749,754,775,790,804],{"__ignoreMap":454},[458,750,751],{"class":460,"line":461},[458,752,753],{"class":475},"{\n",[458,755,756,760,764,766,769,772],{"class":460,"line":468},[458,757,759],{"class":758},"s39Yj","  \"",[458,761,763],{"class":762},"sseR_","deno.enable",[458,765,487],{"class":758},[458,767,768],{"class":475},":",[458,770,771],{"class":758}," true",[458,773,774],{"class":475},",\n",[458,776,777,779,782,784,786,788],{"class":460,"line":502},[458,778,759],{"class":758},[458,780,781],{"class":762},"deno.lint",[458,783,487],{"class":758},[458,785,768],{"class":475},[458,787,771],{"class":758},[458,789,774],{"class":475},[458,791,792,794,797,799,801],{"class":460,"line":583},[458,793,759],{"class":758},[458,795,796],{"class":762},"deno.unstable",[458,798,487],{"class":758},[458,800,768],{"class":475},[458,802,803],{"class":758}," false\n",[458,805,807],{"class":460,"line":806},5,[458,808,809],{"class":475},"}\n",[724,811,812],{},[727,813,814,815,818],{},"混合项目（同一工作区既有 Deno 又有 Node 子项目）可通过 ",[114,816,817],{},"\"deno.enablePaths\""," 限定生效范围，避免两套类型系统互相干扰。",[54,820,821],{"id":821},"部署选择",[23,823,824],{},"Deno 代码本质上是标准 Web\u002FTS 代码，常见部署方式包括：",[58,826,827,837],{},[61,828,829],{},[64,830,831,834],{},[67,832,833],{},"方式",[67,835,836],{},"适用场景",[77,838,839,850,864],{},[64,840,841,847],{},[82,842,843,844,227],{},"自托管（VM \u002F Docker，官方镜像 ",[114,845,846],{},"denoland\u002Fdeno",[82,848,849],{},"需要完全掌控运行环境、已有容器编排体系",[64,851,852,855],{},[82,853,854],{},"Deno Deploy（官方边缘平台）",[82,856,857,858,863],{},"追求零配置部署、边缘就近访问，以 ",[26,859,862],{"href":860,"rel":861},"https:\u002F\u002Fdocs.deno.com\u002Fdeploy\u002F",[30],"官方文档"," 为准",[64,865,866,869],{},[82,867,868],{},"传统云服务器 + systemd\u002FPM2 类进程管理",[82,870,871],{},"与现有 Node 部署习惯保持一致",[54,873,874],{"id":874},"常见坑",[724,876,877,894,903,914],{},[727,878,879,889,890,893],{},[34,880,881,882,255,885,888],{},"把 ",[114,883,884],{},"-A",[114,886,887],{},"--allow-all"," 当作默认写法","：开发阶段图方便全开权限，上线前务必收紧为具体的 ",[114,891,892],{},"--allow-read=.\u002Fdata"," 等最小授权。",[727,895,896,902],{},[34,897,898,899,901],{},"混用 ",[114,900,289],{}," 包时期望与 Node 100% 一致","：Deno 的 Node 兼容层覆盖了大部分常见 API，但少数依赖 Node 内部实现细节或原生二进制的包可能行为不同，升级前应在目标 Deno 版本下跑一遍测试。",[727,904,905,913],{},[34,906,907,908,37,910,912],{},"忽略 ",[114,909,116],{},[114,911,350],{}," 同时存在的优先级","：两者都存在时，依赖解析规则可能出乎意料，尽量在一个项目里只以一种为主。",[727,915,916,742,919,922,923,926],{},[34,917,918],{},"标准库 URL 不锁版本",[114,920,921],{},"https:\u002F\u002Fdeno.land\u002Fstd\u002F...","（不带 ",[114,924,925],{},"@version","）会跟随最新版本，破坏可复现性，务必固定版本号。",[54,928,929],{"id":929},"最佳实践",[931,932,933,945,960,967],"ol",{},[727,934,935,936,938,939,942,943,52],{},"新脚本\u002F工具优先用 Deno 原生方式编写（",[114,937,250],{},"、Web Streams、",[114,940,941],{},"Deno.*"," API），只在确实需要 npm 生态时才引入 ",[114,944,289],{},[727,946,947,948,255,950,952,953,251,956,251,958,52],{},"团队协作项目统一提交 ",[114,949,116],{},[114,951,346],{},"，并在 CI 中运行 ",[114,954,955],{},"deno fmt --check",[114,957,272],{},[114,959,275],{},[727,961,962,963,966],{},"生产部署前用 ",[114,964,965],{},"deno info"," 检查依赖树，确认没有意外引入的大体积或不受信任的远程模块。",[727,968,969,970,52],{},"权限标志写入启动脚本或 Dockerfile，而不是让每个开发者本地各自记忆一长串 ",[114,971,220],{},[54,973,974],{"id":974},"延伸阅读",[724,976,977,982,993,1005,1013],{},[727,978,979,981],{},[26,980,719],{"href":103},"：多平台安装、环境变量、升级与卸载。",[727,983,984,742,987,255,989,992],{},[26,985,986],{"href":135},"权限模型",[114,988,220],{},[114,990,991],{},"--deny-*"," 与动态权限请求。",[727,994,995,742,998,251,1001,1004],{},[26,996,997],{"href":121},"项目初始化与基础命令",[114,999,1000],{},"deno init",[114,1002,1003],{},"deno task"," 等命令详解。",[727,1006,1007,1010,1011,52],{},[26,1008,1009],{"href":149},"包管理与依赖","：JSR、npm、URL 导入与 ",[114,1012,116],{},[727,1014,1015,1017],{},[26,1016,51],{"href":50},"：Bun \u002F Deno \u002F Node 综合对比。",[54,1019,1020],{"id":1020},"参考文献",[23,1022,1023],{},"以下链接在编写时均可正常访问：",[58,1025,1026,1035],{},[61,1027,1028],{},[64,1029,1030,1033],{},[67,1031,1032],{},"资料",[67,1034,207],{},[77,1036,1037,1048,1057,1070],{},[64,1038,1039,1045],{},[82,1040,1041],{},[26,1042,1044],{"href":44,"rel":1043},[30],"Deno 手册",[82,1046,1047],{},"官方",[64,1049,1050,1055],{},[82,1051,1052],{},[26,1053,226],{"href":224,"rel":1054},[30],[82,1056,986],{},[64,1058,1059,1065],{},[82,1060,1061],{},[26,1062,1064],{"href":433,"rel":1063},[30],"npm 与 Node 兼容",[82,1066,1067,1069],{},[114,1068,289],{}," 与 Node API",[64,1071,1072,1076],{},[82,1073,1074],{},[26,1075,51],{"href":50},[82,1077,1078],{},"Bun \u002F Deno \u002F Node",[1080,1081,1082],"style",{},"html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .stzsN, html code.shiki .stzsN{--shiki-light:#91B859;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s39Yj, html code.shiki .s39Yj{--shiki-light:#39ADB5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sseR_, html code.shiki .sseR_{--shiki-light:#9C3EDA;--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":454,"searchDepth":468,"depth":468,"links":1084},[1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097],{"id":56,"depth":468,"text":56},{"id":195,"depth":468,"text":195},{"id":302,"depth":468,"text":303},{"id":389,"depth":468,"text":390},{"id":447,"depth":468,"text":447},{"id":589,"depth":468,"text":589},{"id":648,"depth":468,"text":648},{"id":722,"depth":468,"text":722},{"id":821,"depth":468,"text":821},{"id":874,"depth":468,"text":874},{"id":929,"depth":468,"text":929},{"id":974,"depth":468,"text":974},{"id":1020,"depth":468,"text":1020},{"title":8,"description":9},"knowledge\u002Fbooklet\u002Fend\u002FDeno\u002Fbase","knowledge\u002Fknowledge\u002Fbooklet\u002Fend\u002FDeno\u002Fbase.md","md",{"items":1103},[1104,1108,1110,1112,1115,1117],{"path":163,"title":1105,"description":1106,"category":10,"score":1107},"内置工具链","Deno 提供了开箱即用的工具链，无需安装任何第三方依赖即可完成代码格式化、检查、测试、覆盖率、文档生成和基准测试等任务。",6,{"path":121,"title":997,"description":1109,"category":10,"score":1107},"Deno 提供了开箱即用的项目管理工具集，无需额外配置即可初始化项目、运行脚本、执行代码片段等。",{"path":149,"title":1009,"description":1111,"category":10,"score":1107},"Deno 以 deno.json 管理项目（imports、tasks 等），依赖通过 URL、jsr:、npm: 解析并缓存到本地（默认 DENO_DIR），通常不需要像 Node 那样维护庞大的 node_modules 树。在需…",{"path":191,"title":1113,"description":1114,"category":10,"score":1107},"其他配置","Deno 默认禁止访问环境变量，以遵循最小权限原则。必须通过 --allow-env 标志显式开启。",{"path":135,"title":986,"description":1116,"category":10,"score":1107},"Deno 默认在安全的沙盒环境中执行任何代码——无论是你的主程序还是第三方依赖，都没有文件、网络、环境变量或子进程的访问权限。只有通过 命令行标志显式授予 的权限才能被使用。",{"path":103,"title":719,"description":1118,"category":10,"score":1107},"Deno 提供了多种安装方式，覆盖主流操作系统。安装后需确保环境 PATH 正确，并可配置一些环境变量以控制行为。",{"series":1120,"title":12,"items":1121,"index":461,"prev":1138,"next":1139},"booklet\u002Fend\u002Fdeno",[1122,1124,1125,1128,1130,1132,1134,1136],{"path":135,"title":986,"date":1123,"pinned":14},"2021-04-01",{"path":7,"title":8,"date":13,"pinned":14},{"path":177,"title":1126,"date":1127,"pinned":14},"HTTP 服务器","2020-12-11",{"path":121,"title":997,"date":1129,"pinned":14},"2025-02-14",{"path":103,"title":719,"date":1131,"pinned":14},"2021-02-05",{"path":191,"title":1113,"date":1133,"pinned":14},"2022-02-08",{"path":149,"title":1009,"date":1135,"pinned":14},"2024-07-21",{"path":163,"title":1105,"date":1137,"pinned":14},"2026-01-24",{"path":135,"title":986,"date":1123,"pinned":14},{"path":177,"title":1126,"date":1127,"pinned":14}]