[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"knowledge-\u002Fapi\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Fpackage":3,"knowledge-related-\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Fpackage":979,"knowledge-series-\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Fpackage":1005},{"source":4,"connector":5,"page":6},"sqlite","better-sqlite3",{"path":7,"title":8,"description":9,"category":10,"tags":11,"date":14,"pinned":15,"draft":15,"body":16,"seo":975,"stem":976,"id":977,"extension":978},"\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Fpackage","包管理与依赖","Deno 以 deno.json 管理项目（imports、tasks 等），依赖通过 URL、jsr:、npm: 解析并缓存到本地（默认 DENO_DIR），通常不需要像 Node 那样维护庞大的 node_modules 树。在需…","技能小册",[12,13],"deno","package","2024-07-21",false,{"type":17,"value":18,"toc":963},"minimark",[19,22,27,84,89,141,148,152,159,165,253,270,274,277,371,379,383,483,490,506,772,805,812,816,889,892,895,959],[20,21,8],"h1",{"id":8},[23,24,26],"h2",{"id":25},"deno-包管理与依赖","Deno 包管理与依赖",[28,29,30,31,38,39,42,43,46,47,56,57,60,61,64,65,68,69,72,73,75,76,83],"p",{},"Deno 以 ",[32,33,34],"strong",{},[35,36,37],"code",{},"deno.json"," 管理项目（",[35,40,41],{},"imports","、",[35,44,45],{},"tasks"," 等），依赖通过 ",[32,48,49,50,42,53],{},"URL、",[35,51,52],{},"jsr:",[35,54,55],{},"npm:"," 解析并缓存到本地（默认 ",[35,58,59],{},"DENO_DIR","），通常",[32,62,63],{},"不需要","像 Node 那样维护庞大的 ",[35,66,67],{},"node_modules"," 树。在需要与 Node 生态互通时，也可使用 ",[35,70,71],{},"package.json"," 与 ",[35,74,67],{},"（见 ",[77,78,82],"a",{"href":79,"rel":80},"https:\u002F\u002Fdocs.deno.com\u002Fruntime\u002Freference\u002Fnode_api\u002F",[81],"nofollow","Node 兼容","）。这一模型使依赖来源更显式，便于审计与复现。",[85,86,88],"h3",{"id":87},"一主要的包注册表","一、主要的包注册表",[90,91,92,105],"table",{},[93,94,95],"thead",{},[96,97,98,102],"tr",{},[99,100,101],"th",{},"注册表",[99,103,104],{},"说明",[106,107,108,122],"tbody",{},[96,109,110,116],{},[111,112,113],"td",{},[32,114,115],{},"JSR (JavaScript Registry)",[111,117,118,119],{},"Deno 生态系统的现代包注册中心，安全性优先，支持语义化版本控制。导入格式：",[35,120,121],{},"jsr:@scope\u002Fpkg",[96,123,124,129],{},[111,125,126],{},[32,127,128],{},"npm",[111,130,131,132,134,135,42,138],{},"Deno 2 已完整兼容 npm 包，可使用 ",[35,133,55],{}," 语法导入。例如：",[35,136,137],{},"npm:express",[35,139,140],{},"npm:lodash@4",[28,142,143,144,147],{},"Deno 还支持直接从任意 HTTPS URL 导入模块（如 ",[35,145,146],{},"https:\u002F\u002Fdeno.land\u002Fx\u002F...","）。",[85,149,151],{"id":150},"二标准库std","二、标准库（std）",[28,153,154,155,158],{},"Deno 提供一套经过核心团队审计的标准库（",[35,156,157],{},"https:\u002F\u002Fdeno.land\u002Fstd","），功能涵盖文件系统、HTTP、测试、日志等。",[28,160,161,164],{},[32,162,163],{},"推荐使用固定版本","，避免因标准库更新导致的不兼容问题：",[166,167,172],"pre",{"className":168,"code":169,"language":170,"meta":171,"style":171},"language-typescript shiki shiki-themes material-theme-lighter github-light github-dark","\u002F\u002F ✅ 推荐：固定版本\nimport { copy } from \"https:\u002F\u002Fdeno.land\u002Fstd@0.186.0\u002Ffs\u002Fcopy.ts\";\n\n\u002F\u002F ❌ 不推荐：始终使用最新版本（可能引入不兼容变更）\nimport { copy } from \"https:\u002F\u002Fdeno.land\u002Fstd\u002Ffs\u002Fcopy.ts\";\n","typescript","",[35,173,174,183,218,225,231],{"__ignoreMap":171},[175,176,179],"span",{"class":177,"line":178},"line",1,[175,180,182],{"class":181},"sutJx","\u002F\u002F ✅ 推荐：固定版本\n",[175,184,186,190,194,198,201,204,208,212,215],{"class":177,"line":185},2,[175,187,189],{"class":188},"sVHd0","import",[175,191,193],{"class":192},"sP7_E"," {",[175,195,197],{"class":196},"su5hD"," copy",[175,199,200],{"class":192}," }",[175,202,203],{"class":188}," from",[175,205,207],{"class":206},"sjJ54"," \"",[175,209,211],{"class":210},"s_sjI","https:\u002F\u002Fdeno.land\u002Fstd@0.186.0\u002Ffs\u002Fcopy.ts",[175,213,214],{"class":206},"\"",[175,216,217],{"class":192},";\n",[175,219,221],{"class":177,"line":220},3,[175,222,224],{"emptyLinePlaceholder":223},true,"\n",[175,226,228],{"class":177,"line":227},4,[175,229,230],{"class":181},"\u002F\u002F ❌ 不推荐：始终使用最新版本（可能引入不兼容变更）\n",[175,232,234,236,238,240,242,244,246,249,251],{"class":177,"line":233},5,[175,235,189],{"class":188},[175,237,193],{"class":192},[175,239,197],{"class":196},[175,241,200],{"class":192},[175,243,203],{"class":188},[175,245,207],{"class":206},[175,247,248],{"class":210},"https:\u002F\u002Fdeno.land\u002Fstd\u002Ffs\u002Fcopy.ts",[175,250,214],{"class":206},[175,252,217],{"class":192},[254,255,256],"blockquote",{},[28,257,258,261,262,265,266,269],{},[32,259,260],{},"注意","：标准库中的部分模块使用了不稳定的 Deno API。如果运行时遇到类似 ",[35,263,264],{},"Property does not exist on type 'typeof Deno'"," 的 TypeScript 错误，通常表明该模块依赖了不稳定的 API，需要添加 ",[35,267,268],{},"--unstable"," 标志。",[85,271,273],{"id":272},"三导入外部包","三、导入外部包",[28,275,276],{},"Deno 支持多种导入方式：",[166,278,280],{"className":168,"code":279,"language":170,"meta":171,"style":171},"\u002F\u002F 从 JSR 导入（Deno 官方生态）\nimport { serve } from \"jsr:@std\u002Fhttp\";\n\n\u002F\u002F 从 npm 导入（需要 Node.js 兼容层）\nimport express from \"npm:express@4\";\n\n\u002F\u002F 直接从 URL 导入\nimport { camelCase } from \"https:\u002F\u002Fdeno.land\u002Fx\u002Flodash@4.17.15\u002Flodash.js\";\n",[35,281,282,287,309,313,318,337,342,348],{"__ignoreMap":171},[175,283,284],{"class":177,"line":178},[175,285,286],{"class":181},"\u002F\u002F 从 JSR 导入（Deno 官方生态）\n",[175,288,289,291,293,296,298,300,302,305,307],{"class":177,"line":185},[175,290,189],{"class":188},[175,292,193],{"class":192},[175,294,295],{"class":196}," serve",[175,297,200],{"class":192},[175,299,203],{"class":188},[175,301,207],{"class":206},[175,303,304],{"class":210},"jsr:@std\u002Fhttp",[175,306,214],{"class":206},[175,308,217],{"class":192},[175,310,311],{"class":177,"line":220},[175,312,224],{"emptyLinePlaceholder":223},[175,314,315],{"class":177,"line":227},[175,316,317],{"class":181},"\u002F\u002F 从 npm 导入（需要 Node.js 兼容层）\n",[175,319,320,322,325,328,330,333,335],{"class":177,"line":233},[175,321,189],{"class":188},[175,323,324],{"class":196}," express ",[175,326,327],{"class":188},"from",[175,329,207],{"class":206},[175,331,332],{"class":210},"npm:express@4",[175,334,214],{"class":206},[175,336,217],{"class":192},[175,338,340],{"class":177,"line":339},6,[175,341,224],{"emptyLinePlaceholder":223},[175,343,345],{"class":177,"line":344},7,[175,346,347],{"class":181},"\u002F\u002F 直接从 URL 导入\n",[175,349,351,353,355,358,360,362,364,367,369],{"class":177,"line":350},8,[175,352,189],{"class":188},[175,354,193],{"class":192},[175,356,357],{"class":196}," camelCase",[175,359,200],{"class":192},[175,361,203],{"class":188},[175,363,207],{"class":206},[175,365,366],{"class":210},"https:\u002F\u002Fdeno.land\u002Fx\u002Flodash@4.17.15\u002Flodash.js",[175,368,214],{"class":206},[175,370,217],{"class":192},[254,372,373],{},[28,374,375,376,147],{},"对于第三方 URL 导入，建议固定版本号（如 URL 中包含 ",[35,377,378],{},"@version",[85,380,382],{"id":381},"四包管理命令","四、包管理命令",[90,384,385,394],{},[93,386,387],{},[96,388,389,392],{},[99,390,391],{},"命令",[99,393,104],{},[106,395,396,408,418,428,441,451,461],{},[96,397,398,403],{},[111,399,400],{},[35,401,402],{},"deno add jsr:@pkg",[111,404,405,406],{},"添加 JSR 包到 ",[35,407,37],{},[96,409,410,415],{},[111,411,412],{},[35,413,414],{},"deno add npm:pkg",[111,416,417],{},"添加 npm 包",[96,419,420,425],{},[111,421,422],{},[35,423,424],{},"deno remove",[111,426,427],{},"移除依赖",[96,429,430,435],{},[111,431,432],{},[35,433,434],{},"deno install",[111,436,437,438,440],{},"安装 ",[35,439,37],{}," 中所有依赖（预下载到缓存）",[96,442,443,448],{},[111,444,445],{},[35,446,447],{},"deno outdated",[111,449,450],{},"查看过期依赖",[96,452,453,458],{},[111,454,455],{},[35,456,457],{},"deno audit",[111,459,460],{},"扫描依赖的安全漏洞（检查 GitHub CVE 数据库）",[96,462,463,468],{},[111,464,465],{},[35,466,467],{},"deno x",[111,469,470,471,474,475,478,479,482],{},"运行 npm \u002F JSR 包的二进制（类似 ",[35,472,473],{},"npx","）；可 ",[35,476,477],{},"deno x --install-alias"," 安装 ",[35,480,481],{},"dx"," 别名",[85,484,486,487,489],{"id":485},"五配置文件-denojson","五、配置文件 (",[35,488,37],{},")",[28,491,492,493,495,496,499,500,502,503,505],{},"Deno 使用 ",[35,494,37],{},"（或 ",[35,497,498],{},"deno.jsonc","）管理项目配置，类似于 ",[35,501,71],{},"，但不依赖 ",[35,504,67],{},"。",[166,507,511],{"className":508,"code":509,"language":510,"meta":171,"style":171},"language-json shiki shiki-themes material-theme-lighter github-light github-dark","{\n  \"name\": \"my-app\",\n  \"version\": \"1.0.0\",\n  \"exports\": \".\u002Fmod.ts\",\n  \"imports\": {\n    \"jsr:@std\u002Fhttp\": \"jsr:@std\u002Fhttp@1.0.0\",\n    \"npm:express\": \"npm:express@4\"\n  },\n  \"tasks\": {\n    \"dev\": \"deno run --allow-net --watch main.ts\",\n    \"test\": \"deno test --allow-net\"\n  },\n  \"lint\": {\n    \"include\": [\"src\u002F\"],\n    \"exclude\": [\"src\u002Ftestdata\u002F\"]\n  }\n}\n","json",[35,512,513,518,543,563,583,596,617,634,639,652,673,692,697,711,736,760,766],{"__ignoreMap":171},[175,514,515],{"class":177,"line":178},[175,516,517],{"class":192},"{\n",[175,519,520,524,528,530,533,535,538,540],{"class":177,"line":185},[175,521,523],{"class":522},"s39Yj","  \"",[175,525,527],{"class":526},"sseR_","name",[175,529,214],{"class":522},[175,531,532],{"class":192},":",[175,534,207],{"class":206},[175,536,537],{"class":210},"my-app",[175,539,214],{"class":206},[175,541,542],{"class":192},",\n",[175,544,545,547,550,552,554,556,559,561],{"class":177,"line":220},[175,546,523],{"class":522},[175,548,549],{"class":526},"version",[175,551,214],{"class":522},[175,553,532],{"class":192},[175,555,207],{"class":206},[175,557,558],{"class":210},"1.0.0",[175,560,214],{"class":206},[175,562,542],{"class":192},[175,564,565,567,570,572,574,576,579,581],{"class":177,"line":227},[175,566,523],{"class":522},[175,568,569],{"class":526},"exports",[175,571,214],{"class":522},[175,573,532],{"class":192},[175,575,207],{"class":206},[175,577,578],{"class":210},".\u002Fmod.ts",[175,580,214],{"class":206},[175,582,542],{"class":192},[175,584,585,587,589,591,593],{"class":177,"line":233},[175,586,523],{"class":522},[175,588,41],{"class":526},[175,590,214],{"class":522},[175,592,532],{"class":192},[175,594,595],{"class":192}," {\n",[175,597,598,601,604,606,608,610,613,615],{"class":177,"line":339},[175,599,600],{"class":522},"    \"",[175,602,304],{"class":603},"sZMiF",[175,605,214],{"class":522},[175,607,532],{"class":192},[175,609,207],{"class":206},[175,611,612],{"class":210},"jsr:@std\u002Fhttp@1.0.0",[175,614,214],{"class":206},[175,616,542],{"class":192},[175,618,619,621,623,625,627,629,631],{"class":177,"line":344},[175,620,600],{"class":522},[175,622,137],{"class":603},[175,624,214],{"class":522},[175,626,532],{"class":192},[175,628,207],{"class":206},[175,630,332],{"class":210},[175,632,633],{"class":206},"\"\n",[175,635,636],{"class":177,"line":350},[175,637,638],{"class":192},"  },\n",[175,640,642,644,646,648,650],{"class":177,"line":641},9,[175,643,523],{"class":522},[175,645,45],{"class":526},[175,647,214],{"class":522},[175,649,532],{"class":192},[175,651,595],{"class":192},[175,653,655,657,660,662,664,666,669,671],{"class":177,"line":654},10,[175,656,600],{"class":522},[175,658,659],{"class":603},"dev",[175,661,214],{"class":522},[175,663,532],{"class":192},[175,665,207],{"class":206},[175,667,668],{"class":210},"deno run --allow-net --watch main.ts",[175,670,214],{"class":206},[175,672,542],{"class":192},[175,674,676,678,681,683,685,687,690],{"class":177,"line":675},11,[175,677,600],{"class":522},[175,679,680],{"class":603},"test",[175,682,214],{"class":522},[175,684,532],{"class":192},[175,686,207],{"class":206},[175,688,689],{"class":210},"deno test --allow-net",[175,691,633],{"class":206},[175,693,695],{"class":177,"line":694},12,[175,696,638],{"class":192},[175,698,700,702,705,707,709],{"class":177,"line":699},13,[175,701,523],{"class":522},[175,703,704],{"class":526},"lint",[175,706,214],{"class":522},[175,708,532],{"class":192},[175,710,595],{"class":192},[175,712,714,716,719,721,723,726,728,731,733],{"class":177,"line":713},14,[175,715,600],{"class":522},[175,717,718],{"class":603},"include",[175,720,214],{"class":522},[175,722,532],{"class":192},[175,724,725],{"class":192}," [",[175,727,214],{"class":206},[175,729,730],{"class":210},"src\u002F",[175,732,214],{"class":206},[175,734,735],{"class":192},"],\n",[175,737,739,741,744,746,748,750,752,755,757],{"class":177,"line":738},15,[175,740,600],{"class":522},[175,742,743],{"class":603},"exclude",[175,745,214],{"class":522},[175,747,532],{"class":192},[175,749,725],{"class":192},[175,751,214],{"class":206},[175,753,754],{"class":210},"src\u002Ftestdata\u002F",[175,756,214],{"class":206},[175,758,759],{"class":192},"]\n",[175,761,763],{"class":177,"line":762},16,[175,764,765],{"class":192},"  }\n",[175,767,769],{"class":177,"line":768},17,[175,770,771],{"class":192},"}\n",[773,774,775,783,794],"ul",{},[776,777,778,782],"li",{},[32,779,780],{},[35,781,41],{},"：映射别名，简化导入路径。",[776,784,785,789,790,793],{},[32,786,787],{},[35,788,45],{},"：定义自定义命令，通过 ",[35,791,792],{},"deno task \u003Cname>"," 执行。",[776,795,796,800,801,804],{},[32,797,798],{},[35,799,704],{},"：配置 ",[35,802,803],{},"deno lint"," 的行为。",[28,806,807,808,811],{},"执行 ",[35,809,810],{},"deno task dev"," 即可运行开发任务。",[85,813,815],{"id":814},"六总结","六、总结",[90,817,818,827],{},[93,819,820],{},[96,821,822,825],{},[99,823,824],{},"概念",[99,826,104],{},[106,828,829,845,857,869],{},[96,830,831,836],{},[111,832,833],{},[32,834,835],{},"依赖管理方式",[111,837,838,839,841,842,844],{},"以 ",[35,840,37],{}," + URL \u002F JSR \u002F npm 为主；可选 ",[35,843,71],{},"（Node 兼容）",[96,846,847,852],{},[111,848,849],{},[32,850,851],{},"标准库",[111,853,854,855],{},"固定版本引入，部分依赖 unstable API 需 ",[35,856,268],{},[96,858,859,864],{},[111,860,861],{},[32,862,863],{},"配置文件",[111,865,866,868],{},[35,867,37],{}," 管理 imports、tasks、lint 等",[96,870,871,876],{},[111,872,873],{},[32,874,875],{},"关键命令",[111,877,878,42,881,42,883,42,885,42,887],{},[35,879,880],{},"deno add",[35,882,434],{},[35,884,447],{},[35,886,457],{},[35,888,467],{},[28,890,891],{},"Deno 的包管理更现代化、安全性更高，尤其适合需要严格依赖控制和最小权限的场景。",[23,893,894],{"id":894},"参考文献",[90,896,897,906],{},[93,898,899],{},[96,900,901,904],{},[99,902,903],{},"资料",[99,905,104],{},[106,907,908,919,931,945],{},[96,909,910,916],{},[111,911,912],{},[77,913,37],{"href":914,"rel":915},"https:\u002F\u002Fdocs.deno.com\u002Fruntime\u002Ffundamentals\u002Fconfiguration\u002F",[81],[111,917,918],{},"项目配置",[96,920,921,928],{},[111,922,923],{},[77,924,927],{"href":925,"rel":926},"https:\u002F\u002Fjsr.io\u002F",[81],"JSR",[111,929,930],{},"JavaScript Registry",[96,932,933,940],{},[111,934,935],{},[77,936,939],{"href":937,"rel":938},"https:\u002F\u002Fdocs.deno.com\u002Fruntime\u002Ffundamentals\u002Fnpm\u002F",[81],"npm specifiers",[111,941,942,944],{},[35,943,55],{}," 导入",[96,946,947,954],{},[111,948,949],{},[77,950,953],{"href":951,"rel":952},"https:\u002F\u002Fdocs.deno.com\u002Fruntime\u002Ffundamentals\u002Fdependencies\u002F",[81],"Dependencies",[111,955,956,958],{},[35,957,880],{}," \u002F 缓存",[960,961,962],"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 .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 .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}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 .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}html pre.shiki code .sZMiF, html code.shiki .sZMiF{--shiki-light:#E2931D;--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":171,"searchDepth":185,"depth":185,"links":964},[965,974],{"id":25,"depth":185,"text":26,"children":966},[967,968,969,970,971,973],{"id":87,"depth":220,"text":88},{"id":150,"depth":220,"text":151},{"id":272,"depth":220,"text":273},{"id":381,"depth":220,"text":382},{"id":485,"depth":220,"text":972},"五、配置文件 (deno.json)",{"id":814,"depth":220,"text":815},{"id":894,"depth":185,"text":894},{"title":8,"description":9},"knowledge\u002Fbooklet\u002Fend\u002FDeno\u002Fpackage","knowledge\u002Fknowledge\u002Fbooklet\u002Fend\u002FDeno\u002Fpackage.md","md",{"items":980},[981,985,989,993,997,1001],{"path":982,"title":983,"description":984,"category":10,"score":339},"\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Fbase","Deno 基础","Deno 是基于 V8 与 Rust 的 JavaScript\u002FTypeScript 运行时，由 Node.js 原作者 Ryan Dahl 发起。官方文档：docs.deno.com。与 Node、Bun 的对比见 运行时对比。",{"path":986,"title":987,"description":988,"category":10,"score":339},"\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Ftools","内置工具链","Deno 提供了开箱即用的工具链，无需安装任何第三方依赖即可完成代码格式化、检查、测试、覆盖率、文档生成和基准测试等任务。",{"path":990,"title":991,"description":992,"category":10,"score":339},"\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Finit","项目初始化与基础命令","Deno 提供了开箱即用的项目管理工具集，无需额外配置即可初始化项目、运行脚本、执行代码片段等。",{"path":994,"title":995,"description":996,"category":10,"score":339},"\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Fother","其他配置","Deno 默认禁止访问环境变量，以遵循最小权限原则。必须通过 --allow-env 标志显式开启。",{"path":998,"title":999,"description":1000,"category":10,"score":339},"\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Fauth","权限模型","Deno 默认在安全的沙盒环境中执行任何代码——无论是你的主程序还是第三方依赖，都没有文件、网络、环境变量或子进程的访问权限。只有通过 命令行标志显式授予 的权限才能被使用。",{"path":1002,"title":1003,"description":1004,"category":10,"score":339},"\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Finstall","安装与环境","Deno 提供了多种安装方式，覆盖主流操作系统。安装后需确保环境 PATH 正确，并可配置一些环境变量以控制行为。",{"series":1006,"title":12,"items":1007,"index":339,"prev":1025,"next":1026},"booklet\u002Fend\u002Fdeno",[1008,1010,1012,1016,1018,1020,1022,1023],{"path":998,"title":999,"date":1009,"pinned":15},"2021-04-01",{"path":982,"title":983,"date":1011,"pinned":15},"2026-06-01",{"path":1013,"title":1014,"date":1015,"pinned":15},"\u002Fknowledge\u002Fbooklet\u002Fend\u002Fdeno\u002Fhttp","HTTP 服务器","2020-12-11",{"path":990,"title":991,"date":1017,"pinned":15},"2025-02-14",{"path":1002,"title":1003,"date":1019,"pinned":15},"2021-02-05",{"path":994,"title":995,"date":1021,"pinned":15},"2022-02-08",{"path":7,"title":8,"date":14,"pinned":15},{"path":986,"title":987,"date":1024,"pinned":15},"2026-01-24",{"path":994,"title":995,"date":1021,"pinned":15},{"path":986,"title":987,"date":1024,"pinned":15}]