[{"data":1,"prerenderedAt":4555},["ShallowReactive",2],{"plugins":3,"$fHjgHa7JiU-d4Y7-UUOZrPzQNVV1ZtTpFamuCTA6rKQ0":1968,"-docs-artifact-pypi":2608,"-docs-artifact-pypi-surround":4550},[4,214,363,504,627,764,902,1041,1145,1284,1422,1564,1700,1835],{"id":5,"title":6,"_id":7,"_partial":8,"_path":7,"body":9,"categories":7,"category":150,"contributors":151,"description":19,"extension":188,"github":131,"icon":189,"learn_more":7,"maintainers":190,"meta":199,"name":200,"navigation":201,"npm":6,"path":202,"repo":203,"seo":204,"sponsor":8,"stats":205,"stem":211,"type":212,"website":131,"__hash__":213},"plugins\u002Fplugins\u002Fa11y.md","@nuxt\u002Fa11y",null,false,{"type":10,"value":11,"toc":145},"minimark",[12,16,20,24,50,53,60,119,122,141],[13,14,6],"h1",{"id":15},"nuxta11y",[17,18,19],"p",{},"在开发期间在浏览器中提供实时可访问性反馈和自动测试。",[21,22,23],"h2",{"id":23},"安装",[25,26,31],"pre",{"className":27,"code":28,"language":29,"meta":30,"style":30},"language-bash shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","npm install @nuxt\u002Fa11y\n","bash","",[32,33,34],"code",{"__ignoreMap":30},[35,36,39,43,47],"span",{"class":37,"line":38},"line",1,[35,40,42],{"class":41},"s52Pk","npm",[35,44,46],{"class":45},"sGFVr"," install",[35,48,49],{"class":45}," @nuxt\u002Fa11y\n",[21,51,52],{"id":52},"使用",[17,54,55,56,59],{},"将插件添加到您的 ",[32,57,58],{},"nuxt.config.ts",":",[25,61,65],{"className":62,"code":63,"language":64,"meta":30,"style":30},"language-ts shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","export default defineNuxtConfig({\n  modules: ['@nuxt\u002Fa11y']\n})\n","ts",[32,66,67,88,110],{"__ignoreMap":30},[35,68,69,73,76,80,84],{"class":37,"line":38},[35,70,72],{"class":71},"s8R28","export",[35,74,75],{"class":71}," default",[35,77,79],{"class":78},"s3cPz"," defineNuxtConfig",[35,81,83],{"class":82},"sZSNi","(",[35,85,87],{"class":86},"sDfIl","{\n",[35,89,91,95,97,100,103,105,107],{"class":37,"line":90},2,[35,92,94],{"class":93},"sRlkE","  modules",[35,96,59],{"class":86},[35,98,99],{"class":82}," [",[35,101,102],{"class":86},"'",[35,104,6],{"class":45},[35,106,102],{"class":86},[35,108,109],{"class":82},"]\n",[35,111,113,116],{"class":37,"line":112},3,[35,114,115],{"class":86},"}",[35,117,118],{"class":82},")\n",[21,120,121],{"id":121},"链接",[123,124,125,135],"ul",{},[126,127,128],"li",{},[129,130,134],"a",{"href":131,"rel":132},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fa11y",[133],"nofollow","文档",[126,136,137],{},[129,138,140],{"href":131,"rel":139},[133],"GitHub",[142,143,144],"style",{},"html pre.shiki code .s52Pk, html code.shiki .s52Pk{--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B}html pre.shiki code .sGFVr, html code.shiki .sGFVr{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}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 .s8R28, html code.shiki .s8R28{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#39ADB5;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s3cPz, html code.shiki .s3cPz{--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF}html pre.shiki code .sZSNi, html code.shiki .sZSNi{--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8}html pre.shiki code .sDfIl, html code.shiki .sDfIl{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}html pre.shiki code .sRlkE, html code.shiki .sRlkE{--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178}",{"title":30,"searchDepth":90,"depth":90,"links":146},[147,148,149],{"id":23,"depth":90,"text":23},{"id":52,"depth":90,"text":52},{"id":121,"depth":90,"text":121},"Devtools",[152,155,158,161,165,169,173,177,180,184],{"id":38,"username":153,"contributions":154},"user99376",43,{"id":90,"username":156,"contributions":157},"user86649",16,{"id":112,"username":159,"contributions":160},"user49829",57,{"id":162,"username":163,"contributions":164},4,"user72634",14,{"id":166,"username":167,"contributions":168},5,"user28650",92,{"id":170,"username":171,"contributions":172},6,"user8758",55,{"id":174,"username":175,"contributions":176},7,"user74896",89,{"id":178,"username":179,"contributions":160},8,"user51798",{"id":181,"username":182,"contributions":183},9,"user67000",32,{"id":185,"username":186,"contributions":187},10,"user11627",36,"md","nuxt.svg",[191,195],{"name":192,"github":193,"bluesky":194},"Tim Damen","timdamen","timdamen.io",{"name":196,"github":197,"bluesky":198},"Daniel Roe","danielroe","danielroe.dev",{},"a11y",true,"\u002Fplugins\u002Fa11y","nuxt\u002Fa11y",{"title":6,"description":19},{"downloads":206,"stars":207,"watchers":208,"forks":209,"defaultBranch":210},2272902,36407,4858,1470,"main","plugins\u002Fa11y","official","YLxALoH_wZAsqCG6CMMXV7CM10sA6Y-aWquupJl5GMM",{"id":215,"title":216,"_id":7,"_partial":8,"_path":7,"body":217,"categories":7,"category":309,"contributors":310,"description":224,"extension":188,"github":300,"icon":189,"learn_more":7,"maintainers":338,"meta":351,"name":352,"navigation":201,"npm":216,"path":353,"repo":354,"seo":355,"sponsor":8,"stats":356,"stem":361,"type":212,"website":294,"__hash__":362},"plugins\u002Fplugins\u002Fcontent.md","@nuxt\u002Fcontent",{"type":10,"value":218,"toc":304},[219,222,225,227,241,243,247,286,288,302],[13,220,216],{"id":221},"nuxtcontent",[17,223,224],{},"基于文件的 CMS，支持 Markdown、YAML、JSON。",[21,226,23],{"id":23},[25,228,230],{"className":27,"code":229,"language":29,"meta":30,"style":30},"npm install @nuxt\u002Fcontent\n",[32,231,232],{"__ignoreMap":30},[35,233,234,236,238],{"class":37,"line":38},[35,235,42],{"class":41},[35,237,46],{"class":45},[35,239,240],{"class":45}," @nuxt\u002Fcontent\n",[21,242,52],{"id":52},[17,244,55,245,59],{},[32,246,58],{},[25,248,250],{"className":62,"code":249,"language":64,"meta":30,"style":30},"export default defineNuxtConfig({\n  modules: ['@nuxt\u002Fcontent']\n})\n",[32,251,252,264,280],{"__ignoreMap":30},[35,253,254,256,258,260,262],{"class":37,"line":38},[35,255,72],{"class":71},[35,257,75],{"class":71},[35,259,79],{"class":78},[35,261,83],{"class":82},[35,263,87],{"class":86},[35,265,266,268,270,272,274,276,278],{"class":37,"line":90},[35,267,94],{"class":93},[35,269,59],{"class":86},[35,271,99],{"class":82},[35,273,102],{"class":86},[35,275,216],{"class":45},[35,277,102],{"class":86},[35,279,109],{"class":82},[35,281,282,284],{"class":37,"line":112},[35,283,115],{"class":86},[35,285,118],{"class":82},[21,287,121],{"id":121},[123,289,290,296],{},[126,291,292],{},[129,293,134],{"href":294,"rel":295},"https:\u002F\u002Fcontent.nuxt.com",[133],[126,297,298],{},[129,299,140],{"href":300,"rel":301},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fcontent",[133],[142,303,144],{},{"title":30,"searchDepth":90,"depth":90,"links":305},[306,307,308],{"id":23,"depth":90,"text":23},{"id":52,"depth":90,"text":52},{"id":121,"depth":90,"text":121},"CMS",[311,314,317,319,322,324,327,330,333,335],{"id":38,"username":312,"contributions":313},"user13979",60,{"id":90,"username":315,"contributions":316},"user10947",52,{"id":112,"username":318,"contributions":187},"user11345",{"id":162,"username":320,"contributions":321},"user77708",64,{"id":166,"username":323,"contributions":183},"user96159",{"id":170,"username":325,"contributions":326},"user10252",65,{"id":174,"username":328,"contributions":329},"user88319",37,{"id":178,"username":331,"contributions":332},"user83651",74,{"id":181,"username":334,"contributions":183},"user76515",{"id":185,"username":336,"contributions":337},"user63596",73,[339,343,347],{"name":340,"github":341,"bluesky":342},"Farnabaz","farnabaz","farnabaz.dev",{"name":344,"github":345,"bluesky":346},"Baptiste Leproux","larbish","larbish.bsky.social",{"name":348,"github":349,"bluesky":350},"Sébastien Chopin","Atinux","atinux.com",{},"content","\u002Fplugins\u002Fcontent","nuxt\u002Fcontent#main",{"title":216,"description":224},{"downloads":357,"stars":358,"watchers":359,"forks":360,"defaultBranch":210},201400,37560,3723,499,"plugins\u002Fcontent","MPWexsb65o956t8kAcciteLzN5MYNwClRrI_CaJBSKg",{"id":364,"title":365,"_id":7,"_partial":8,"_path":7,"body":366,"categories":7,"category":150,"contributors":458,"description":373,"extension":188,"github":449,"icon":189,"learn_more":7,"maintainers":487,"meta":492,"name":493,"navigation":201,"npm":365,"path":494,"repo":495,"seo":496,"sponsor":8,"stats":497,"stem":502,"type":212,"website":443,"__hash__":503},"plugins\u002Fplugins\u002Fdevtools.md","@nuxt\u002Fdevtools",{"type":10,"value":367,"toc":453},[368,371,374,376,390,392,396,435,437,451],[13,369,365],{"id":370},"nuxtdevtools",[17,372,373],{},"帮助您更好地了解 Nuxt 应用程序的可视化工具。",[21,375,23],{"id":23},[25,377,379],{"className":27,"code":378,"language":29,"meta":30,"style":30},"npm install @nuxt\u002Fdevtools\n",[32,380,381],{"__ignoreMap":30},[35,382,383,385,387],{"class":37,"line":38},[35,384,42],{"class":41},[35,386,46],{"class":45},[35,388,389],{"class":45}," @nuxt\u002Fdevtools\n",[21,391,52],{"id":52},[17,393,55,394,59],{},[32,395,58],{},[25,397,399],{"className":62,"code":398,"language":64,"meta":30,"style":30},"export default defineNuxtConfig({\n  modules: ['@nuxt\u002Fdevtools']\n})\n",[32,400,401,413,429],{"__ignoreMap":30},[35,402,403,405,407,409,411],{"class":37,"line":38},[35,404,72],{"class":71},[35,406,75],{"class":71},[35,408,79],{"class":78},[35,410,83],{"class":82},[35,412,87],{"class":86},[35,414,415,417,419,421,423,425,427],{"class":37,"line":90},[35,416,94],{"class":93},[35,418,59],{"class":86},[35,420,99],{"class":82},[35,422,102],{"class":86},[35,424,365],{"class":45},[35,426,102],{"class":86},[35,428,109],{"class":82},[35,430,431,433],{"class":37,"line":112},[35,432,115],{"class":86},[35,434,118],{"class":82},[21,436,121],{"id":121},[123,438,439,445],{},[126,440,441],{},[129,442,134],{"href":443,"rel":444},"https:\u002F\u002Fdevtools.nuxt.com",[133],[126,446,447],{},[129,448,140],{"href":449,"rel":450},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fdevtools",[133],[142,452,144],{},{"title":30,"searchDepth":90,"depth":90,"links":454},[455,456,457],{"id":23,"depth":90,"text":23},{"id":52,"depth":90,"text":52},{"id":121,"depth":90,"text":121},[459,462,464,467,470,473,476,479,482,485],{"id":38,"username":460,"contributions":461},"user84341",23,{"id":90,"username":463,"contributions":174},"user10137",{"id":112,"username":465,"contributions":466},"user19110",67,{"id":162,"username":468,"contributions":469},"user69842",54,{"id":166,"username":471,"contributions":472},"user65163",29,{"id":170,"username":474,"contributions":475},"user87690",77,{"id":174,"username":477,"contributions":478},"user48871",99,{"id":178,"username":480,"contributions":481},"user11541",97,{"id":181,"username":483,"contributions":484},"user31909",90,{"id":185,"username":486,"contributions":332},"user72693",[488],{"name":489,"github":490,"bluesky":491},"Anthony Fu","antfu","antfu.me",{},"devtools","\u002Fplugins\u002Fdevtools","nuxt\u002Fdevtools#main\u002Fpackages\u002Fdevtools",{"title":365,"description":373},{"downloads":498,"stars":499,"watchers":500,"forks":501,"defaultBranch":210},338641,49933,433,225,"plugins\u002Fdevtools","TT6qV1tkhfILzk2j1f23tBPQu61DhF4FgXZ3Ap8Ntt0",{"id":505,"title":506,"_id":7,"_partial":8,"_path":7,"body":507,"categories":7,"category":150,"contributors":606,"description":514,"extension":188,"github":590,"icon":189,"learn_more":596,"maintainers":613,"meta":615,"name":616,"navigation":201,"npm":506,"path":617,"repo":618,"seo":619,"sponsor":8,"stats":620,"stem":625,"type":212,"website":584,"__hash__":626},"plugins\u002Fplugins\u002Feslint.md","@nuxt\u002Feslint",{"type":10,"value":508,"toc":601},[509,512,515,517,531,533,537,576,578,599],[13,510,506],{"id":511},"nuxteslint",[17,513,514],{},"项目感知、易于使用、可扩展且面向未来的 ESLint 集成。",[21,516,23],{"id":23},[25,518,520],{"className":27,"code":519,"language":29,"meta":30,"style":30},"npm install @nuxt\u002Feslint\n",[32,521,522],{"__ignoreMap":30},[35,523,524,526,528],{"class":37,"line":38},[35,525,42],{"class":41},[35,527,46],{"class":45},[35,529,530],{"class":45}," @nuxt\u002Feslint\n",[21,532,52],{"id":52},[17,534,55,535,59],{},[32,536,58],{},[25,538,540],{"className":62,"code":539,"language":64,"meta":30,"style":30},"export default defineNuxtConfig({\n  modules: ['@nuxt\u002Feslint']\n})\n",[32,541,542,554,570],{"__ignoreMap":30},[35,543,544,546,548,550,552],{"class":37,"line":38},[35,545,72],{"class":71},[35,547,75],{"class":71},[35,549,79],{"class":78},[35,551,83],{"class":82},[35,553,87],{"class":86},[35,555,556,558,560,562,564,566,568],{"class":37,"line":90},[35,557,94],{"class":93},[35,559,59],{"class":86},[35,561,99],{"class":82},[35,563,102],{"class":86},[35,565,506],{"class":45},[35,567,102],{"class":86},[35,569,109],{"class":82},[35,571,572,574],{"class":37,"line":112},[35,573,115],{"class":86},[35,575,118],{"class":82},[21,577,121],{"id":121},[123,579,580,586,592],{},[126,581,582],{},[129,583,134],{"href":584,"rel":585},"https:\u002F\u002Feslint.nuxt.com",[133],[126,587,588],{},[129,589,140],{"href":590,"rel":591},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Feslint",[133],[126,593,594],{},[129,595,598],{"href":596,"rel":597},"https:\u002F\u002Feslint.nuxt.com\u002Fpackages\u002Fmodule",[133],"了解更多",[142,600,144],{},{"title":30,"searchDepth":90,"depth":90,"links":602},[603,604,605],{"id":23,"depth":90,"text":23},{"id":52,"depth":90,"text":52},{"id":121,"depth":90,"text":121},[607,610],{"id":38,"username":608,"contributions":609},"user30113",84,{"id":90,"username":611,"contributions":612},"user63757",82,[614],{"name":489,"github":490,"bluesky":491},{},"eslint","\u002Fplugins\u002Feslint","nuxt\u002Feslint",{"title":506,"description":514},{"downloads":621,"stars":622,"watchers":623,"forks":624,"defaultBranch":210},4219129,40472,1319,493,"plugins\u002Feslint","y2i5lamEk99gHsmaCVBOf7SwD-h3Q5biJ5CqBsfaDlQ",{"id":628,"title":629,"_id":7,"_partial":8,"_path":7,"body":630,"categories":7,"category":722,"contributors":723,"description":637,"extension":188,"github":713,"icon":189,"learn_more":7,"maintainers":750,"meta":752,"name":753,"navigation":201,"npm":629,"path":754,"repo":755,"seo":756,"sponsor":8,"stats":757,"stem":762,"type":212,"website":707,"__hash__":763},"plugins\u002Fplugins\u002Ffonts.md","@nuxt\u002Ffonts",{"type":10,"value":631,"toc":717},[632,635,638,640,654,656,660,699,701,715],[13,633,629],{"id":634},"nuxtfonts",[17,636,637],{},"添加自定义 Web 字体，注重性能。",[21,639,23],{"id":23},[25,641,643],{"className":27,"code":642,"language":29,"meta":30,"style":30},"npm install @nuxt\u002Ffonts\n",[32,644,645],{"__ignoreMap":30},[35,646,647,649,651],{"class":37,"line":38},[35,648,42],{"class":41},[35,650,46],{"class":45},[35,652,653],{"class":45}," @nuxt\u002Ffonts\n",[21,655,52],{"id":52},[17,657,55,658,59],{},[32,659,58],{},[25,661,663],{"className":62,"code":662,"language":64,"meta":30,"style":30},"export default defineNuxtConfig({\n  modules: ['@nuxt\u002Ffonts']\n})\n",[32,664,665,677,693],{"__ignoreMap":30},[35,666,667,669,671,673,675],{"class":37,"line":38},[35,668,72],{"class":71},[35,670,75],{"class":71},[35,672,79],{"class":78},[35,674,83],{"class":82},[35,676,87],{"class":86},[35,678,679,681,683,685,687,689,691],{"class":37,"line":90},[35,680,94],{"class":93},[35,682,59],{"class":86},[35,684,99],{"class":82},[35,686,102],{"class":86},[35,688,629],{"class":45},[35,690,102],{"class":86},[35,692,109],{"class":82},[35,694,695,697],{"class":37,"line":112},[35,696,115],{"class":86},[35,698,118],{"class":82},[21,700,121],{"id":121},[123,702,703,709],{},[126,704,705],{},[129,706,134],{"href":707,"rel":708},"https:\u002F\u002Ffonts.nuxt.com",[133],[126,710,711],{},[129,712,140],{"href":713,"rel":714},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Ffonts",[133],[142,716,144],{},{"title":30,"searchDepth":90,"depth":90,"links":718},[719,720,721],{"id":23,"depth":90,"text":23},{"id":52,"depth":90,"text":52},{"id":121,"depth":90,"text":121},"Fonts",[724,727,730,733,735,738,741,744,746,748],{"id":38,"username":725,"contributions":726},"user42306",56,{"id":90,"username":728,"contributions":729},"user71199",33,{"id":112,"username":731,"contributions":732},"user16707",22,{"id":162,"username":734,"contributions":176},"user13463",{"id":166,"username":736,"contributions":737},"user63863",80,{"id":170,"username":739,"contributions":740},"user72286",35,{"id":174,"username":742,"contributions":743},"user84726",48,{"id":178,"username":745,"contributions":187},"user22103",{"id":181,"username":747,"contributions":164},"user45708",{"id":185,"username":749,"contributions":475},"user14848",[751],{"name":196,"github":197,"bluesky":198},{},"fonts","\u002Fplugins\u002Ffonts","nuxt\u002Ffonts",{"title":629,"description":637},{"downloads":758,"stars":759,"watchers":760,"forks":761,"defaultBranch":210},701472,23636,1481,2636,"plugins\u002Ffonts","T0fSWfcZn4S2Byr1npK0ulV8J1a2e4adeTZfj-sX5fc",{"id":765,"title":766,"_id":7,"_partial":8,"_path":7,"body":767,"categories":7,"category":150,"contributors":858,"description":774,"extension":188,"github":844,"icon":189,"learn_more":7,"maintainers":885,"meta":890,"name":891,"navigation":201,"npm":766,"path":892,"repo":893,"seo":894,"sponsor":8,"stats":895,"stem":900,"type":212,"website":844,"__hash__":901},"plugins\u002Fplugins\u002Fhints.md","@nuxt\u002Fhints",{"type":10,"value":768,"toc":853},[769,772,775,777,791,793,797,836,838,851],[13,770,766],{"id":771},"nuxthints",[17,773,774],{},"Nuxt 插件，显示应用程序各方面的提示，如性能、安全等！",[21,776,23],{"id":23},[25,778,780],{"className":27,"code":779,"language":29,"meta":30,"style":30},"npm install @nuxt\u002Fhints\n",[32,781,782],{"__ignoreMap":30},[35,783,784,786,788],{"class":37,"line":38},[35,785,42],{"class":41},[35,787,46],{"class":45},[35,789,790],{"class":45}," @nuxt\u002Fhints\n",[21,792,52],{"id":52},[17,794,55,795,59],{},[32,796,58],{},[25,798,800],{"className":62,"code":799,"language":64,"meta":30,"style":30},"export default defineNuxtConfig({\n  modules: ['@nuxt\u002Fhints']\n})\n",[32,801,802,814,830],{"__ignoreMap":30},[35,803,804,806,808,810,812],{"class":37,"line":38},[35,805,72],{"class":71},[35,807,75],{"class":71},[35,809,79],{"class":78},[35,811,83],{"class":82},[35,813,87],{"class":86},[35,815,816,818,820,822,824,826,828],{"class":37,"line":90},[35,817,94],{"class":93},[35,819,59],{"class":86},[35,821,99],{"class":82},[35,823,102],{"class":86},[35,825,766],{"class":45},[35,827,102],{"class":86},[35,829,109],{"class":82},[35,831,832,834],{"class":37,"line":112},[35,833,115],{"class":86},[35,835,118],{"class":82},[21,837,121],{"id":121},[123,839,840,846],{},[126,841,842],{},[129,843,134],{"href":844,"rel":845},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fhints",[133],[126,847,848],{},[129,849,140],{"href":844,"rel":850},[133],[142,852,144],{},{"title":30,"searchDepth":90,"depth":90,"links":854},[855,856,857],{"id":23,"depth":90,"text":23},{"id":52,"depth":90,"text":52},{"id":121,"depth":90,"text":121},[859,862,865,867,869,871,874,877,879,882],{"id":38,"username":860,"contributions":861},"user6533",91,{"id":90,"username":863,"contributions":864},"user71544",18,{"id":112,"username":866,"contributions":337},"user91675",{"id":162,"username":868,"contributions":166},"user25368",{"id":166,"username":870,"contributions":187},"user16215",{"id":170,"username":872,"contributions":873},"user81050",38,{"id":174,"username":875,"contributions":876},"user19700",44,{"id":178,"username":878,"contributions":321},"user41134",{"id":181,"username":880,"contributions":881},"user20762",19,{"id":185,"username":883,"contributions":884},"user339",42,[886],{"name":887,"github":888,"bluesky":889},"Julien Huang","huang-julien","julienhuang-dev.bsky.social",{},"hints","\u002Fplugins\u002Fhints","nuxt\u002Fhints",{"title":766,"description":774},{"downloads":896,"stars":897,"watchers":898,"forks":899,"defaultBranch":210},2213397,14758,1404,545,"plugins\u002Fhints","M4nkyrPTPXtaPD1YbnzIHqsvw9KU-5hHKG6Hp--8MMc",{"id":903,"title":904,"_id":7,"_partial":8,"_path":7,"body":905,"categories":7,"category":996,"contributors":997,"description":912,"extension":188,"github":982,"icon":189,"learn_more":7,"maintainers":1026,"meta":1029,"name":1030,"navigation":201,"npm":904,"path":1031,"repo":1032,"seo":1033,"sponsor":8,"stats":1034,"stem":1039,"type":212,"website":982,"__hash__":1040},"plugins\u002Fplugins\u002Ficon.md","@nuxt\u002Ficon",{"type":10,"value":906,"toc":991},[907,910,913,915,929,931,935,974,976,989],[13,908,904],{"id":909},"nuxticon",[17,911,912],{},"Nuxt 的图标插件，包含来自 Iconify 的 200,000+ 个即用图标。",[21,914,23],{"id":23},[25,916,918],{"className":27,"code":917,"language":29,"meta":30,"style":30},"npm install @nuxt\u002Ficon\n",[32,919,920],{"__ignoreMap":30},[35,921,922,924,926],{"class":37,"line":38},[35,923,42],{"class":41},[35,925,46],{"class":45},[35,927,928],{"class":45}," @nuxt\u002Ficon\n",[21,930,52],{"id":52},[17,932,55,933,59],{},[32,934,58],{},[25,936,938],{"className":62,"code":937,"language":64,"meta":30,"style":30},"export default defineNuxtConfig({\n  modules: ['@nuxt\u002Ficon']\n})\n",[32,939,940,952,968],{"__ignoreMap":30},[35,941,942,944,946,948,950],{"class":37,"line":38},[35,943,72],{"class":71},[35,945,75],{"class":71},[35,947,79],{"class":78},[35,949,83],{"class":82},[35,951,87],{"class":86},[35,953,954,956,958,960,962,964,966],{"class":37,"line":90},[35,955,94],{"class":93},[35,957,59],{"class":86},[35,959,99],{"class":82},[35,961,102],{"class":86},[35,963,904],{"class":45},[35,965,102],{"class":86},[35,967,109],{"class":82},[35,969,970,972],{"class":37,"line":112},[35,971,115],{"class":86},[35,973,118],{"class":82},[21,975,121],{"id":121},[123,977,978,984],{},[126,979,980],{},[129,981,134],{"href":982,"rel":983},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Ficon",[133],[126,985,986],{},[129,987,140],{"href":982,"rel":988},[133],[142,990,144],{},{"title":30,"searchDepth":90,"depth":90,"links":992},[993,994,995],{"id":23,"depth":90,"text":23},{"id":52,"depth":90,"text":52},{"id":121,"depth":90,"text":121},"UI",[998,1001,1004,1007,1010,1012,1015,1018,1020,1023],{"id":38,"username":999,"contributions":1000},"user37024",11,{"id":90,"username":1002,"contributions":1003},"user87306",70,{"id":112,"username":1005,"contributions":1006},"user73353",45,{"id":162,"username":1008,"contributions":1009},"user58644",20,{"id":166,"username":1011,"contributions":38},"user69260",{"id":170,"username":1013,"contributions":1014},"user30247",30,{"id":174,"username":1016,"contributions":1017},"user18477",41,{"id":178,"username":1019,"contributions":160},"user52769",{"id":181,"username":1021,"contributions":1022},"user43970",75,{"id":185,"username":1024,"contributions":1025},"user98140",12,[1027,1028],{"name":348,"github":349,"bluesky":350},{"name":489,"github":490,"bluesky":491},{},"icon","\u002Fplugins\u002Ficon","nuxt\u002Ficon",{"title":904,"description":912},{"downloads":1035,"stars":1036,"watchers":1037,"forks":1038,"defaultBranch":210},3202080,45665,4249,188,"plugins\u002Ficon","qOiuB-isRs131Q2t8HEr0bLG3_Lq-TrBdqcsYYbaouc",{"id":1042,"title":1043,"_id":7,"_partial":8,"_path":7,"body":1044,"categories":7,"category":1136,"contributors":7,"description":1051,"extension":188,"github":1127,"icon":189,"learn_more":7,"maintainers":7,"meta":1137,"name":1138,"navigation":201,"npm":1043,"path":1139,"repo":1140,"seo":1141,"sponsor":8,"stats":7,"stem":1142,"type":1143,"website":1121,"__hash__":1144},"plugins\u002Fplugins\u002Fimage.md","@nuxt\u002Fimage",{"type":10,"value":1045,"toc":1131},[1046,1049,1052,1054,1068,1070,1074,1113,1115,1129],[13,1047,1043],{"id":1048},"nuxtimage",[17,1050,1051],{},"添加图片，支持渐进式处理、懒加载、调整大小和提供商支持。",[21,1053,23],{"id":23},[25,1055,1057],{"className":27,"code":1056,"language":29,"meta":30,"style":30},"npm install @nuxt\u002Fimage\n",[32,1058,1059],{"__ignoreMap":30},[35,1060,1061,1063,1065],{"class":37,"line":38},[35,1062,42],{"class":41},[35,1064,46],{"class":45},[35,1066,1067],{"class":45}," @nuxt\u002Fimage\n",[21,1069,52],{"id":52},[17,1071,55,1072,59],{},[32,1073,58],{},[25,1075,1077],{"className":62,"code":1076,"language":64,"meta":30,"style":30},"export default defineNuxtConfig({\n  modules: ['@nuxt\u002Fimage']\n})\n",[32,1078,1079,1091,1107],{"__ignoreMap":30},[35,1080,1081,1083,1085,1087,1089],{"class":37,"line":38},[35,1082,72],{"class":71},[35,1084,75],{"class":71},[35,1086,79],{"class":78},[35,1088,83],{"class":82},[35,1090,87],{"class":86},[35,1092,1093,1095,1097,1099,1101,1103,1105],{"class":37,"line":90},[35,1094,94],{"class":93},[35,1096,59],{"class":86},[35,1098,99],{"class":82},[35,1100,102],{"class":86},[35,1102,1043],{"class":45},[35,1104,102],{"class":86},[35,1106,109],{"class":82},[35,1108,1109,1111],{"class":37,"line":112},[35,1110,115],{"class":86},[35,1112,118],{"class":82},[21,1114,121],{"id":121},[123,1116,1117,1123],{},[126,1118,1119],{},[129,1120,134],{"href":1121,"rel":1122},"https:\u002F\u002Fimage.nuxt.com",[133],[126,1124,1125],{},[129,1126,140],{"href":1127,"rel":1128},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fimage",[133],[142,1130,144],{},{"title":30,"searchDepth":90,"depth":90,"links":1132},[1133,1134,1135],{"id":23,"depth":90,"text":23},{"id":52,"depth":90,"text":52},{"id":121,"depth":90,"text":121},"Images",{},"image","\u002Fplugins\u002Fimage","nuxt\u002Fimage",{"title":1043,"description":1051},"plugins\u002Fimage","[object Object]","CXK46BX2BS38OrXRmxzhBG5zRJ5aqUOc_MQQMO_IddQ",{"id":1146,"title":1147,"_id":7,"_partial":8,"_path":7,"body":1148,"categories":7,"category":1245,"contributors":1246,"description":1154,"extension":188,"github":1230,"icon":1267,"learn_more":1236,"maintainers":1268,"meta":1272,"name":1147,"navigation":201,"npm":1147,"path":1273,"repo":1274,"seo":1275,"sponsor":8,"stats":1276,"stem":1281,"type":1282,"website":1224,"__hash__":1283},"plugins\u002Fplugins\u002Fnuxt-auth-sanctum.md","nuxt-auth-sanctum",{"type":10,"value":1149,"toc":1240},[1150,1152,1155,1157,1171,1173,1177,1216,1218,1238],[13,1151,1147],{"id":1147},[17,1153,1154],{},"Laravel Sanctum 身份验证的 Nuxt 插件",[21,1156,23],{"id":23},[25,1158,1160],{"className":27,"code":1159,"language":29,"meta":30,"style":30},"npm install nuxt-auth-sanctum\n",[32,1161,1162],{"__ignoreMap":30},[35,1163,1164,1166,1168],{"class":37,"line":38},[35,1165,42],{"class":41},[35,1167,46],{"class":45},[35,1169,1170],{"class":45}," nuxt-auth-sanctum\n",[21,1172,52],{"id":52},[17,1174,55,1175,59],{},[32,1176,58],{},[25,1178,1180],{"className":62,"code":1179,"language":64,"meta":30,"style":30},"export default defineNuxtConfig({\n  modules: ['nuxt-auth-sanctum']\n})\n",[32,1181,1182,1194,1210],{"__ignoreMap":30},[35,1183,1184,1186,1188,1190,1192],{"class":37,"line":38},[35,1185,72],{"class":71},[35,1187,75],{"class":71},[35,1189,79],{"class":78},[35,1191,83],{"class":82},[35,1193,87],{"class":86},[35,1195,1196,1198,1200,1202,1204,1206,1208],{"class":37,"line":90},[35,1197,94],{"class":93},[35,1199,59],{"class":86},[35,1201,99],{"class":82},[35,1203,102],{"class":86},[35,1205,1147],{"class":45},[35,1207,102],{"class":86},[35,1209,109],{"class":82},[35,1211,1212,1214],{"class":37,"line":112},[35,1213,115],{"class":86},[35,1215,118],{"class":82},[21,1217,121],{"id":121},[123,1219,1220,1226,1232],{},[126,1221,1222],{},[129,1223,134],{"href":1224,"rel":1225},"https:\u002F\u002Fsanctum.manchenkoff.me",[133],[126,1227,1228],{},[129,1229,140],{"href":1230,"rel":1231},"https:\u002F\u002Fgithub.com\u002Fmanchenkoff\u002Fnuxt-auth-sanctum",[133],[126,1233,1234],{},[129,1235,598],{"href":1236,"rel":1237},"https:\u002F\u002Flaravel.com\u002Fdocs\u002F12.x\u002Fsanctum",[133],[142,1239,144],{},{"title":30,"searchDepth":90,"depth":90,"links":1241},[1242,1243,1244],{"id":23,"depth":90,"text":23},{"id":52,"depth":90,"text":52},{"id":121,"depth":90,"text":121},"Security",[1247,1249,1251,1254,1257,1259,1262,1264],{"id":38,"username":1248,"contributions":337},"user3491",{"id":90,"username":1250,"contributions":478},"user52329",{"id":112,"username":1252,"contributions":1253},"user34359",81,{"id":162,"username":1255,"contributions":1256},"user86267",13,{"id":166,"username":1258,"contributions":166},"user71011",{"id":170,"username":1260,"contributions":1261},"user87107",86,{"id":174,"username":1263,"contributions":475},"user69652",{"id":178,"username":1265,"contributions":1266},"user80629",72,"laravel.svg",[1269],{"name":1270,"github":1271},"Artem Manchenkov","manchenkoff",{},"\u002Fplugins\u002Fnuxt-auth-sanctum","manchenkoff\u002Fnuxt-auth-sanctum",{"title":1147,"description":1154},{"downloads":1277,"stars":1278,"watchers":1279,"forks":1280,"defaultBranch":210},170439,571,491,288,"plugins\u002Fnuxt-auth-sanctum","3rd-party","a8McvtgCknAVn7piEt5AFjXKvoeG52aRnk-CAc_OdQo",{"id":1285,"title":1286,"_id":7,"_partial":8,"_path":7,"body":1287,"categories":7,"category":1378,"contributors":1379,"description":1404,"extension":188,"github":1369,"icon":1405,"learn_more":7,"maintainers":1406,"meta":1411,"name":1286,"navigation":201,"npm":1286,"path":1412,"repo":1413,"seo":1414,"sponsor":8,"stats":1415,"stem":1420,"type":1282,"website":1363,"__hash__":1421},"plugins\u002Fplugins\u002Fnuxt-mongoose.md","nuxt-mongoose",{"type":10,"value":1288,"toc":1373},[1289,1291,1294,1296,1310,1312,1316,1355,1357,1371],[13,1290,1286],{"id":1286},[17,1292,1293],{},"简化在项目中使用 Mongoose 的 Nuxt 插件。",[21,1295,23],{"id":23},[25,1297,1299],{"className":27,"code":1298,"language":29,"meta":30,"style":30},"npm install nuxt-mongoose\n",[32,1300,1301],{"__ignoreMap":30},[35,1302,1303,1305,1307],{"class":37,"line":38},[35,1304,42],{"class":41},[35,1306,46],{"class":45},[35,1308,1309],{"class":45}," nuxt-mongoose\n",[21,1311,52],{"id":52},[17,1313,55,1314,59],{},[32,1315,58],{},[25,1317,1319],{"className":62,"code":1318,"language":64,"meta":30,"style":30},"export default defineNuxtConfig({\n  modules: ['nuxt-mongoose']\n})\n",[32,1320,1321,1333,1349],{"__ignoreMap":30},[35,1322,1323,1325,1327,1329,1331],{"class":37,"line":38},[35,1324,72],{"class":71},[35,1326,75],{"class":71},[35,1328,79],{"class":78},[35,1330,83],{"class":82},[35,1332,87],{"class":86},[35,1334,1335,1337,1339,1341,1343,1345,1347],{"class":37,"line":90},[35,1336,94],{"class":93},[35,1338,59],{"class":86},[35,1340,99],{"class":82},[35,1342,102],{"class":86},[35,1344,1286],{"class":45},[35,1346,102],{"class":86},[35,1348,109],{"class":82},[35,1350,1351,1353],{"class":37,"line":112},[35,1352,115],{"class":86},[35,1354,118],{"class":82},[21,1356,121],{"id":121},[123,1358,1359,1365],{},[126,1360,1361],{},[129,1362,134],{"href":1363,"rel":1364},"https:\u002F\u002Fnuxt-mongoose.nuxt.space",[133],[126,1366,1367],{},[129,1368,140],{"href":1369,"rel":1370},"https:\u002F\u002Fgithub.com\u002Farashsheyda\u002Fnuxt-mongoose",[133],[142,1372,144],{},{"title":30,"searchDepth":90,"depth":90,"links":1374},[1375,1376,1377],{"id":23,"depth":90,"text":23},{"id":52,"depth":90,"text":52},{"id":121,"depth":90,"text":121},"Database",[1380,1383,1385,1387,1389,1392,1394,1397,1400,1402],{"id":38,"username":1381,"contributions":1382},"user44120",87,{"id":90,"username":1384,"contributions":881},"user69808",{"id":112,"username":1386,"contributions":160},"user43499",{"id":162,"username":1388,"contributions":1009},"user57745",{"id":166,"username":1390,"contributions":1391},"user19045",71,{"id":170,"username":1393,"contributions":1261},"user92868",{"id":174,"username":1395,"contributions":1396},"user76193",26,{"id":178,"username":1398,"contributions":1399},"user83794",94,{"id":181,"username":1401,"contributions":1399},"user91572",{"id":185,"username":1403,"contributions":1261},"user66728","简化在项目中使用 Mongoose 的 Nuxt 插件","nuxt-mongoose.svg",[1407],{"name":1408,"github":1409,"bluesky":1410},"Arash Ari Sheyda","arashsheyda","arashsheyda.me",{},"\u002Fplugins\u002Fnuxt-mongoose","arashsheyda\u002Fnuxt-mongoose",{"title":1286,"description":1404},{"downloads":1416,"stars":1417,"watchers":1418,"forks":1419,"defaultBranch":210},313268,1561,463,234,"plugins\u002Fnuxt-mongoose","rVDGisvuxFx5xMNmMn_AP8A-8i-bNJ-G_buXYZVbU5U",{"id":1423,"title":1424,"_id":7,"_partial":8,"_path":7,"body":1425,"categories":7,"category":1522,"contributors":1523,"description":1547,"extension":188,"github":1507,"icon":1548,"learn_more":1513,"maintainers":1549,"meta":1553,"name":1424,"navigation":201,"npm":1424,"path":1554,"repo":1555,"seo":1556,"sponsor":8,"stats":1557,"stem":1562,"type":1282,"website":1501,"__hash__":1563},"plugins\u002Fplugins\u002Fnuxt-posthog.md","nuxt-posthog",{"type":10,"value":1426,"toc":1517},[1427,1429,1432,1434,1448,1450,1454,1493,1495,1515],[13,1428,1424],{"id":1424},[17,1430,1431],{},"以最少的配置将 PostHog 集成到您的应用程序中。",[21,1433,23],{"id":23},[25,1435,1437],{"className":27,"code":1436,"language":29,"meta":30,"style":30},"npm install nuxt-posthog\n",[32,1438,1439],{"__ignoreMap":30},[35,1440,1441,1443,1445],{"class":37,"line":38},[35,1442,42],{"class":41},[35,1444,46],{"class":45},[35,1446,1447],{"class":45}," nuxt-posthog\n",[21,1449,52],{"id":52},[17,1451,55,1452,59],{},[32,1453,58],{},[25,1455,1457],{"className":62,"code":1456,"language":64,"meta":30,"style":30},"export default defineNuxtConfig({\n  modules: ['nuxt-posthog']\n})\n",[32,1458,1459,1471,1487],{"__ignoreMap":30},[35,1460,1461,1463,1465,1467,1469],{"class":37,"line":38},[35,1462,72],{"class":71},[35,1464,75],{"class":71},[35,1466,79],{"class":78},[35,1468,83],{"class":82},[35,1470,87],{"class":86},[35,1472,1473,1475,1477,1479,1481,1483,1485],{"class":37,"line":90},[35,1474,94],{"class":93},[35,1476,59],{"class":86},[35,1478,99],{"class":82},[35,1480,102],{"class":86},[35,1482,1424],{"class":45},[35,1484,102],{"class":86},[35,1486,109],{"class":82},[35,1488,1489,1491],{"class":37,"line":112},[35,1490,115],{"class":86},[35,1492,118],{"class":82},[21,1494,121],{"id":121},[123,1496,1497,1503,1509],{},[126,1498,1499],{},[129,1500,134],{"href":1501,"rel":1502},"https:\u002F\u002Fnuxt-posthog.cmitjans.dev",[133],[126,1504,1505],{},[129,1506,140],{"href":1507,"rel":1508},"https:\u002F\u002Fgithub.com\u002Fmitjans\u002Fnuxt-posthog",[133],[126,1510,1511],{},[129,1512,598],{"href":1513,"rel":1514},"https:\u002F\u002Fposthog.com",[133],[142,1516,144],{},{"title":30,"searchDepth":90,"depth":90,"links":1518},[1519,1520,1521],{"id":23,"depth":90,"text":23},{"id":52,"depth":90,"text":52},{"id":121,"depth":90,"text":121},"Analytics",[1524,1526,1529,1531,1534,1536,1538,1541,1543,1545],{"id":38,"username":1525,"contributions":1261},"user99328",{"id":90,"username":1527,"contributions":1528},"user36640",27,{"id":112,"username":1530,"contributions":743},"user8127",{"id":162,"username":1532,"contributions":1533},"user15154",63,{"id":166,"username":1535,"contributions":166},"user34098",{"id":170,"username":1537,"contributions":160},"user56129",{"id":174,"username":1539,"contributions":1540},"user16681",69,{"id":178,"username":1542,"contributions":183},"user23250",{"id":181,"username":1544,"contributions":469},"user69685",{"id":185,"username":1546,"contributions":164},"user26894","以最少的配置将 PostHog 集成到您的应用程序中","posthog.svg",[1550],{"name":1551,"github":1552},"Carles Mitjans","mitjans",{},"\u002Fplugins\u002Fnuxt-posthog","mitjans\u002Fnuxt-posthog",{"title":1424,"description":1547},{"downloads":1558,"stars":1559,"watchers":1560,"forks":1561,"defaultBranch":210},372773,749,249,248,"plugins\u002Fnuxt-posthog","2n73yQ9EGdeStmU9-KnMhhd-BroMNfiF29MCtTXzhg4",{"id":1565,"title":1566,"_id":7,"_partial":8,"_path":7,"body":1567,"categories":7,"category":1659,"contributors":1660,"description":1574,"extension":188,"github":1650,"icon":189,"learn_more":7,"maintainers":1684,"meta":1688,"name":1689,"navigation":201,"npm":1566,"path":1690,"repo":1691,"seo":1692,"sponsor":8,"stats":1693,"stem":1698,"type":212,"website":1644,"__hash__":1699},"plugins\u002Fplugins\u002Fscripts.md","@nuxt\u002Fscripts",{"type":10,"value":1568,"toc":1654},[1569,1572,1575,1577,1591,1593,1597,1636,1638,1652],[13,1570,1566],{"id":1571},"nuxtscripts",[17,1573,1574],{},"在不牺牲性能的情况下添加第三方脚本",[21,1576,23],{"id":23},[25,1578,1580],{"className":27,"code":1579,"language":29,"meta":30,"style":30},"npm install @nuxt\u002Fscripts\n",[32,1581,1582],{"__ignoreMap":30},[35,1583,1584,1586,1588],{"class":37,"line":38},[35,1585,42],{"class":41},[35,1587,46],{"class":45},[35,1589,1590],{"class":45}," @nuxt\u002Fscripts\n",[21,1592,52],{"id":52},[17,1594,55,1595,59],{},[32,1596,58],{},[25,1598,1600],{"className":62,"code":1599,"language":64,"meta":30,"style":30},"export default defineNuxtConfig({\n  modules: ['@nuxt\u002Fscripts']\n})\n",[32,1601,1602,1614,1630],{"__ignoreMap":30},[35,1603,1604,1606,1608,1610,1612],{"class":37,"line":38},[35,1605,72],{"class":71},[35,1607,75],{"class":71},[35,1609,79],{"class":78},[35,1611,83],{"class":82},[35,1613,87],{"class":86},[35,1615,1616,1618,1620,1622,1624,1626,1628],{"class":37,"line":90},[35,1617,94],{"class":93},[35,1619,59],{"class":86},[35,1621,99],{"class":82},[35,1623,102],{"class":86},[35,1625,1566],{"class":45},[35,1627,102],{"class":86},[35,1629,109],{"class":82},[35,1631,1632,1634],{"class":37,"line":112},[35,1633,115],{"class":86},[35,1635,118],{"class":82},[21,1637,121],{"id":121},[123,1639,1640,1646],{},[126,1641,1642],{},[129,1643,134],{"href":1644,"rel":1645},"https:\u002F\u002Fscripts.nuxt.com",[133],[126,1647,1648],{},[129,1649,140],{"href":1650,"rel":1651},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fscripts",[133],[142,1653,144],{},{"title":30,"searchDepth":90,"depth":90,"links":1655},[1656,1657,1658],{"id":23,"depth":90,"text":23},{"id":52,"depth":90,"text":52},{"id":121,"depth":90,"text":121},"Performance",[1661,1663,1665,1668,1670,1672,1675,1677,1680,1682],{"id":38,"username":1662,"contributions":185},"user50497",{"id":90,"username":1664,"contributions":170},"user7468",{"id":112,"username":1666,"contributions":1667},"user4831",85,{"id":162,"username":1669,"contributions":861},"user75013",{"id":166,"username":1671,"contributions":743},"user98072",{"id":170,"username":1673,"contributions":1674},"user11559",28,{"id":174,"username":1676,"contributions":1006},"user13714",{"id":178,"username":1678,"contributions":1679},"user94609",51,{"id":181,"username":1681,"contributions":154},"user41644",{"id":185,"username":1683,"contributions":732},"user76238",[1685],{"name":1686,"github":1687},"Harlan Wilton","harlan-zw",{},"scripts","\u002Fplugins\u002Fscripts","nuxt\u002Fscripts",{"title":1566,"description":1574},{"downloads":1694,"stars":1695,"watchers":1696,"forks":1697,"defaultBranch":210},654472,110,4891,718,"plugins\u002Fscripts","snquBudp2I-f1Ubv48w-17ZeDz9inLAAt_tSOMR4LCo",{"id":1701,"title":1702,"_id":7,"_partial":8,"_path":7,"body":1703,"categories":7,"category":150,"contributors":1795,"description":1710,"extension":188,"github":1786,"icon":189,"learn_more":7,"maintainers":1820,"meta":1823,"name":1824,"navigation":201,"npm":1702,"path":1825,"repo":1826,"seo":1827,"sponsor":8,"stats":1828,"stem":1833,"type":212,"website":1780,"__hash__":1834},"plugins\u002Fplugins\u002Ftest-utils.md","@nuxt\u002Ftest-utils",{"type":10,"value":1704,"toc":1790},[1705,1708,1711,1713,1727,1729,1733,1772,1774,1788],[13,1706,1702],{"id":1707},"nuxttest-utils",[17,1709,1710],{},"Nuxt 的测试工具",[21,1712,23],{"id":23},[25,1714,1716],{"className":27,"code":1715,"language":29,"meta":30,"style":30},"npm install @nuxt\u002Ftest-utils\n",[32,1717,1718],{"__ignoreMap":30},[35,1719,1720,1722,1724],{"class":37,"line":38},[35,1721,42],{"class":41},[35,1723,46],{"class":45},[35,1725,1726],{"class":45}," @nuxt\u002Ftest-utils\n",[21,1728,52],{"id":52},[17,1730,55,1731,59],{},[32,1732,58],{},[25,1734,1736],{"className":62,"code":1735,"language":64,"meta":30,"style":30},"export default defineNuxtConfig({\n  modules: ['@nuxt\u002Ftest-utils']\n})\n",[32,1737,1738,1750,1766],{"__ignoreMap":30},[35,1739,1740,1742,1744,1746,1748],{"class":37,"line":38},[35,1741,72],{"class":71},[35,1743,75],{"class":71},[35,1745,79],{"class":78},[35,1747,83],{"class":82},[35,1749,87],{"class":86},[35,1751,1752,1754,1756,1758,1760,1762,1764],{"class":37,"line":90},[35,1753,94],{"class":93},[35,1755,59],{"class":86},[35,1757,99],{"class":82},[35,1759,102],{"class":86},[35,1761,1702],{"class":45},[35,1763,102],{"class":86},[35,1765,109],{"class":82},[35,1767,1768,1770],{"class":37,"line":112},[35,1769,115],{"class":86},[35,1771,118],{"class":82},[21,1773,121],{"id":121},[123,1775,1776,1782],{},[126,1777,1778],{},[129,1779,134],{"href":1780,"rel":1781},"https:\u002F\u002Fnuxt.com\u002Fdocs\u002Fgetting-started\u002Ftesting",[133],[126,1783,1784],{},[129,1785,140],{"href":1786,"rel":1787},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Ftest-utils",[133],[142,1789,144],{},{"title":30,"searchDepth":90,"depth":90,"links":1791},[1792,1793,1794],{"id":23,"depth":90,"text":23},{"id":52,"depth":90,"text":52},{"id":121,"depth":90,"text":121},[1796,1799,1801,1804,1806,1808,1810,1812,1815,1818],{"id":38,"username":1797,"contributions":1798},"user42799",61,{"id":90,"username":1800,"contributions":1006},"user77607",{"id":112,"username":1802,"contributions":1803},"user70090",47,{"id":162,"username":1805,"contributions":181},"user95279",{"id":166,"username":1807,"contributions":1256},"user89952",{"id":170,"username":1809,"contributions":172},"user41689",{"id":174,"username":1811,"contributions":316},"user2190",{"id":178,"username":1813,"contributions":1814},"user4111",39,{"id":181,"username":1816,"contributions":1817},"user93327",46,{"id":185,"username":1819,"contributions":181},"user52428",[1821,1822],{"name":196,"github":197,"bluesky":198},{"name":489,"github":490,"bluesky":491},{},"test-utils","\u002Fplugins\u002Ftest-utils","nuxt\u002Ftest-utils#main",{"title":1702,"description":1710},{"downloads":1829,"stars":1830,"watchers":1831,"forks":1832,"defaultBranch":210},509128,9236,3824,2540,"plugins\u002Ftest-utils","uXkQHRcL1KX0bO4rKHC8DNyQVRtjTqdsoU3mNZK2YD4",{"id":1836,"title":1837,"_id":7,"_partial":8,"_path":7,"body":1838,"categories":7,"category":996,"contributors":1930,"description":1845,"extension":188,"github":1921,"icon":189,"learn_more":7,"maintainers":1950,"meta":1956,"name":1957,"navigation":201,"npm":1837,"path":1958,"repo":1959,"seo":1960,"sponsor":8,"stats":1961,"stem":1966,"type":212,"website":1915,"__hash__":1967},"plugins\u002Fplugins\u002Fui.md","@nuxt\u002Fui",{"type":10,"value":1839,"toc":1925},[1840,1843,1846,1848,1862,1864,1868,1907,1909,1923],[13,1841,1837],{"id":1842},"nuxtui",[17,1844,1845],{},"基于 Reka UI 和 Tailwind CSS 的直观 UI 库",[21,1847,23],{"id":23},[25,1849,1851],{"className":27,"code":1850,"language":29,"meta":30,"style":30},"npm install @nuxt\u002Fui\n",[32,1852,1853],{"__ignoreMap":30},[35,1854,1855,1857,1859],{"class":37,"line":38},[35,1856,42],{"class":41},[35,1858,46],{"class":45},[35,1860,1861],{"class":45}," @nuxt\u002Fui\n",[21,1863,52],{"id":52},[17,1865,55,1866,59],{},[32,1867,58],{},[25,1869,1871],{"className":62,"code":1870,"language":64,"meta":30,"style":30},"export default defineNuxtConfig({\n  modules: ['@nuxt\u002Fui']\n})\n",[32,1872,1873,1885,1901],{"__ignoreMap":30},[35,1874,1875,1877,1879,1881,1883],{"class":37,"line":38},[35,1876,72],{"class":71},[35,1878,75],{"class":71},[35,1880,79],{"class":78},[35,1882,83],{"class":82},[35,1884,87],{"class":86},[35,1886,1887,1889,1891,1893,1895,1897,1899],{"class":37,"line":90},[35,1888,94],{"class":93},[35,1890,59],{"class":86},[35,1892,99],{"class":82},[35,1894,102],{"class":86},[35,1896,1837],{"class":45},[35,1898,102],{"class":86},[35,1900,109],{"class":82},[35,1902,1903,1905],{"class":37,"line":112},[35,1904,115],{"class":86},[35,1906,118],{"class":82},[21,1908,121],{"id":121},[123,1910,1911,1917],{},[126,1912,1913],{},[129,1914,134],{"href":1915,"rel":1916},"https:\u002F\u002Fui.nuxt.com\u002Fdocs\u002Fgetting-started\u002Finstallation\u002Fnuxt",[133],[126,1918,1919],{},[129,1920,140],{"href":1921,"rel":1922},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fui",[133],[142,1924,144],{},{"title":30,"searchDepth":90,"depth":90,"links":1926},[1927,1928,1929],{"id":23,"depth":90,"text":23},{"id":52,"depth":90,"text":52},{"id":121,"depth":90,"text":121},[1931,1933,1935,1938,1941,1943,1945,1948],{"id":38,"username":1932,"contributions":1017},"user99346",{"id":90,"username":1934,"contributions":316},"user54967",{"id":112,"username":1936,"contributions":1937},"user11433",31,{"id":162,"username":1939,"contributions":1940},"user9986",100,{"id":166,"username":1942,"contributions":1937},"user89841",{"id":170,"username":1944,"contributions":1022},"user3725",{"id":174,"username":1946,"contributions":1947},"user89501",68,{"id":178,"username":1949,"contributions":609},"user88437",[1951,1955],{"name":1952,"github":1953,"bluesky":1954},"Benjamin Canac","benjamincanac","benjamincanac.dev",{"name":348,"github":349,"bluesky":350},{},"ui","\u002Fplugins\u002Fui","nuxt\u002Fui#dev",{"title":1837,"description":1845},{"downloads":1962,"stars":1963,"watchers":1964,"forks":1965,"defaultBranch":210},4898787,4588,1125,2648,"plugins\u002Fui","-l-I_UU8K6HTEy7-xTpyP_Mc1SGIH0ELsk7kc8GHh28",[1969,2025,2159,2233,2273,2287,2325,2422,2542,2556,2583],{"title":1970,"path":1971,"stem":1972,"children":1973,"titleTemplate":7,"icon":2024},"入门指南","\u002Fdocs\u002Fguide","docs\u002F01.guide\u002F01.index",[1974,1976,1980,2008,2012,2016],{"title":1975,"path":1971,"stem":1972,"titleTemplate":7},"创建你的第一个仓库",{"title":1977,"path":1978,"stem":1979,"titleTemplate":7},"迁移工具","\u002Fdocs\u002Fguide\u002Fmigration-tools","docs\u002F01.guide\u002F02.migration-tools",{"title":1981,"path":1982,"stem":1983,"children":1984,"titleTemplate":7,"icon":2007},"仓库","\u002Fdocs\u002Fguide\u002Frepo","docs\u002F01.guide\u002F02.repo\u002F01.index",[1985,1987,1991,1995,1999,2003],{"title":1986,"path":1982,"stem":1983,"titleTemplate":7},"产品介绍",{"title":1988,"path":1989,"stem":1990,"titleTemplate":7},"密钥仓库","\u002Fdocs\u002Fguide\u002Frepo\u002Fsecret","docs\u002F01.guide\u002F02.repo\u002F02.secret",{"title":1992,"path":1993,"stem":1994,"titleTemplate":7},"元数据","\u002Fdocs\u002Fguide\u002Frepo\u002Fannotations","docs\u002F01.guide\u002F02.repo\u002F03.annotations",{"title":1996,"path":1997,"stem":1998,"titleTemplate":7},"ISSUE 模板","\u002Fdocs\u002Fguide\u002Frepo\u002Fissue-template","docs\u002F01.guide\u002F02.repo\u002F04.issue-template",{"title":2000,"path":2001,"stem":2002,"titleTemplate":7},"分类标签","\u002Fdocs\u002Fguide\u002Frepo\u002Flabel","docs\u002F01.guide\u002F02.repo\u002F05.label",{"title":2004,"path":2005,"stem":2006,"titleTemplate":7},"UI 定制","\u002Fdocs\u002Fguide\u002Frepo\u002Fsettings","docs\u002F01.guide\u002F02.repo\u002F06.settings","lucide:folder",{"title":2009,"path":2010,"stem":2011,"titleTemplate":7},"角色权限","\u002Fdocs\u002Fguide\u002Frole-permissions","docs\u002F01.guide\u002F03.role-permissions",{"title":2013,"path":2014,"stem":2015,"titleTemplate":7},"访问令牌","\u002Fdocs\u002Fguide\u002Faccess-token","docs\u002F01.guide\u002F04.access-token",{"title":2017,"path":2018,"stem":2019,"children":2020,"titleTemplate":7,"icon":2023},"任务集","\u002Fdocs\u002Fguide\u002Fmissions","docs\u002F01.guide\u002F07.missions\u002F01.index",[2021],{"title":2022,"path":2018,"stem":2019,"titleTemplate":7},"任务集介绍","lucide:target","lucide:book-open",{"title":2026,"titleTemplate":7,"icon":2027,"path":2028,"stem":2029,"children":2030,"page":8},"云原生构建","lucide:rocket","\u002Fdocs\u002Fbuild","docs\u002F03.build",[2031,2079,2099,2139],{"title":2032,"path":2033,"stem":2034,"children":2035,"titleTemplate":7,"icon":2078},"基础使用","\u002Fdocs\u002Fbuild\u002Fbasic-usage","docs\u002F03.build\u002F01.basic-usage\u002F01.index",[2036,2038,2042,2046,2050,2054,2058,2062,2066,2070,2074],{"title":2037,"path":2033,"stem":2034,"titleTemplate":7},"云原生构建介绍",{"title":2039,"path":2040,"stem":2041,"titleTemplate":7},"快速开始","\u002Fdocs\u002Fbuild\u002Fbasic-usage\u002Fquick-start","docs\u002F03.build\u002F01.basic-usage\u002F02.quick-start",{"title":2043,"path":2044,"stem":2045,"titleTemplate":7},"构建触发规则","\u002Fdocs\u002Fbuild\u002Fbasic-usage\u002Ftrigger-rule","docs\u002F03.build\u002F01.basic-usage\u002F03.trigger-rule",{"title":2047,"path":2048,"stem":2049,"titleTemplate":7},"配置文件","\u002Fdocs\u002Fbuild\u002Fbasic-usage\u002Fconfiguration","docs\u002F03.build\u002F01.basic-usage\u002F04.configuration",{"title":2051,"path":2052,"stem":2053,"titleTemplate":7},"流水线语法","\u002Fdocs\u002Fbuild\u002Fbasic-usage\u002Fgrammar","docs\u002F03.build\u002F01.basic-usage\u002F05.grammar",{"title":2055,"path":2056,"stem":2057,"titleTemplate":7},"构建环境","\u002Fdocs\u002Fbuild\u002Fbasic-usage\u002Fbuild-env","docs\u002F03.build\u002F01.basic-usage\u002F06.build-env",{"title":2059,"path":2060,"stem":2061,"titleTemplate":7},"构建集群","\u002Fdocs\u002Fbuild\u002Fbasic-usage\u002Fbuild-node","docs\u002F03.build\u002F01.basic-usage\u002F07.build-node",{"title":2063,"path":2064,"stem":2065,"titleTemplate":7},"环境变量","\u002Fdocs\u002Fbuild\u002Fbasic-usage\u002Fenv","docs\u002F03.build\u002F01.basic-usage\u002F08.env",{"title":2067,"path":2068,"stem":2069,"titleTemplate":7},"默认环境变量","\u002Fdocs\u002Fbuild\u002Fbasic-usage\u002Fbuild-in-env","docs\u002F03.build\u002F01.basic-usage\u002F09.build-in-env",{"title":2071,"path":2072,"stem":2073,"titleTemplate":7},"超时策略","\u002Fdocs\u002Fbuild\u002Fbasic-usage\u002Ftimeout","docs\u002F03.build\u002F01.basic-usage\u002F10.timeout",{"title":2075,"path":2076,"stem":2077,"titleTemplate":7},"权限说明","\u002Fdocs\u002Fbuild\u002Fbasic-usage\u002Fpermission","docs\u002F03.build\u002F01.basic-usage\u002F11.permission","lucide:book",{"title":2080,"path":2081,"stem":2082,"children":2083,"titleTemplate":7,"icon":2098},"插件","\u002Fdocs\u002Fbuild\u002Fplugins","docs\u002F03.build\u002F02.plugins\u002F01.index",[2084,2086,2090,2094],{"title":2085,"path":2081,"stem":2082,"titleTemplate":7},"内置任务",{"title":2087,"path":2088,"stem":2089,"titleTemplate":7},"插件市场","\u002Fdocs\u002Fbuild\u002Fplugins\u002Fplugins","docs\u002F03.build\u002F02.plugins\u002F02.plugins",{"title":2091,"path":2092,"stem":2093,"titleTemplate":7},"插件制作","\u002Fdocs\u002Fbuild\u002Fplugins\u002Fcreate-plugin","docs\u002F03.build\u002F02.plugins\u002F03.create-plugin",{"title":2095,"path":2096,"stem":2097,"titleTemplate":7},"贡献插件","\u002Fdocs\u002Fbuild\u002Fplugins\u002Fcontribute-plugin","docs\u002F03.build\u002F02.plugins\u002F04.contribute-plugin","lucide:puzzle",{"title":2100,"path":2101,"stem":2102,"children":2103,"titleTemplate":7,"icon":2138},"进阶使用","\u002Fdocs\u002Fbuild\u002Fadvanced-usage","docs\u002F03.build\u002F03.advanced-usage\u002F01.index",[2104,2106,2110,2114,2118,2122,2126,2130,2134],{"title":2105,"path":2101,"stem":2102,"titleTemplate":7},"简化配置文件",{"title":2107,"path":2108,"stem":2109,"titleTemplate":7},"文件引用","\u002Fdocs\u002Fbuild\u002Fadvanced-usage\u002Ffile-reference","docs\u002F03.build\u002F03.advanced-usage\u002F02.file-reference",{"title":2111,"path":2112,"stem":2113,"titleTemplate":7},"流水线缓存","\u002Fdocs\u002Fbuild\u002Fadvanced-usage\u002Fpipeline-cache","docs\u002F03.build\u002F03.advanced-usage\u002F03.pipeline-cache",{"title":2115,"path":2116,"stem":2117,"titleTemplate":7},"定时任务","\u002Fdocs\u002Fbuild\u002Fadvanced-usage\u002Fcrontab","docs\u002F03.build\u002F03.advanced-usage\u002F04.crontab",{"title":2119,"path":2120,"stem":2121,"titleTemplate":7},"跳过流水线","\u002Fdocs\u002Fbuild\u002Fadvanced-usage\u002Fskip-pipeline","docs\u002F03.build\u002F03.advanced-usage\u002F05.skip-pipeline",{"title":2123,"path":2124,"stem":2125,"titleTemplate":7},"登录调试","\u002Fdocs\u002Fbuild\u002Fadvanced-usage\u002Flogin-debug","docs\u002F03.build\u002F03.advanced-usage\u002F06.login-debug",{"title":2127,"path":2128,"stem":2129,"titleTemplate":7},"手动触发流水线","\u002Fdocs\u002Fbuild\u002Fadvanced-usage\u002Fweb-trigger","docs\u002F03.build\u002F03.advanced-usage\u002F07.web-trigger",{"title":2131,"path":2132,"stem":2133,"titleTemplate":7},"自定义部署流程","\u002Fdocs\u002Fbuild\u002Fadvanced-usage\u002Fdeploy","docs\u002F03.build\u002F03.advanced-usage\u002F08.deploy",{"title":2135,"path":2136,"stem":2137,"titleTemplate":7},"常见问题","\u002Fdocs\u002Fbuild\u002Fadvanced-usage\u002Ffaq","docs\u002F03.build\u002F03.advanced-usage\u002F09.faq","lucide:zap",{"title":2140,"path":2141,"stem":2142,"children":2143,"titleTemplate":7,"icon":2158},"示例","\u002Fdocs\u002Fbuild\u002Fshowcase","docs\u002F03.build\u002F04.showcase\u002Findex",[2144,2146,2150,2154],{"title":2145,"path":2141,"stem":2142,"titleTemplate":7},"构建Docker镜像并上传",{"title":2147,"path":2148,"stem":2149,"titleTemplate":7},"ISSUE通知到企业微信群","\u002Fdocs\u002Fbuild\u002Fshowcase\u002Fissue-notice-group","docs\u002F03.build\u002F04.showcase\u002Fissue-notice-group",{"title":2151,"path":2152,"stem":2153,"titleTemplate":7},"Monorepo按需构建","\u002Fdocs\u002Fbuild\u002Fshowcase\u002Fmonorepo","docs\u002F03.build\u002F04.showcase\u002Fmonorepo",{"title":2155,"path":2156,"stem":2157,"titleTemplate":7},"PR通知到企业微信群","\u002Fdocs\u002Fbuild\u002Fshowcase\u002Fpr-notice-group","docs\u002F03.build\u002F04.showcase\u002Fpr-notice-group","lucide:app-window-mac",{"title":2160,"titleTemplate":7,"icon":2161,"path":2162,"stem":2163,"children":2164,"page":8},"云原生开发","lucide:laptop","\u002Fdocs\u002Fworkspaces","docs\u002F04.workspaces",[2165,2199,2217],{"title":2032,"path":2166,"stem":2167,"children":2168,"titleTemplate":7,"icon":2078},"\u002Fdocs\u002Fworkspaces\u002Fbasic-usage","docs\u002F04.workspaces\u002F01.basic-usage\u002F01.index",[2169,2171,2175,2179,2183,2187,2191,2195],{"title":2170,"path":2166,"stem":2167,"titleTemplate":7},"云原生开发介绍",{"title":2172,"path":2173,"stem":2174,"titleTemplate":7},"默认开发环境","\u002Fdocs\u002Fworkspaces\u002Fbasic-usage\u002Fdefault-dev-env","docs\u002F04.workspaces\u002F01.basic-usage\u002F02.default-dev-env",{"title":2176,"path":2177,"stem":2178,"titleTemplate":7},"自定义开发环境","\u002Fdocs\u002Fworkspaces\u002Fbasic-usage\u002Fcustom-dev-env","docs\u002F04.workspaces\u002F01.basic-usage\u002F03.custom-dev-env",{"title":2180,"path":2181,"stem":2182,"titleTemplate":7},"业务端口预览","\u002Fdocs\u002Fworkspaces\u002Fbasic-usage\u002Fbusiness-preview","docs\u002F04.workspaces\u002F01.basic-usage\u002F04.business-preview",{"title":2184,"path":2185,"stem":2186,"titleTemplate":7},"远程开发工作区回收机制","\u002Fdocs\u002Fworkspaces\u002Fbasic-usage\u002Fworkspace-recycling","docs\u002F04.workspaces\u002F01.basic-usage\u002F05.workspace-recycling",{"title":2188,"path":2189,"stem":2190,"titleTemplate":7},"代码备份和文件漫游","\u002Fdocs\u002Fworkspaces\u002Fbasic-usage\u002Ffile-keeper","docs\u002F04.workspaces\u002F01.basic-usage\u002F06.file-keeper",{"title":2192,"path":2193,"stem":2194,"titleTemplate":7},"云原生开发推荐用法","\u002Fdocs\u002Fworkspaces\u002Fbasic-usage\u002Frecommended-practice","docs\u002F04.workspaces\u002F01.basic-usage\u002F07.recommended-practice",{"title":2196,"path":2197,"stem":2198,"titleTemplate":7},"常见问题解答","\u002Fdocs\u002Fworkspaces\u002Fbasic-usage\u002Fquestion","docs\u002F04.workspaces\u002F01.basic-usage\u002F08.question",{"title":2100,"path":2200,"stem":2201,"children":2202,"titleTemplate":7,"icon":2138},"\u002Fdocs\u002Fworkspaces\u002Fadvanced-usage","docs\u002F04.workspaces\u002F02.advanced-usage\u002F01.index",[2203,2205,2209,2213],{"title":2204,"path":2200,"stem":2201,"titleTemplate":7},"自定义环境创建流程",{"title":2206,"path":2207,"stem":2208,"titleTemplate":7},"自定义云原生开发启动按钮","\u002Fdocs\u002Fworkspaces\u002Fadvanced-usage\u002Fcustom-dev-button","docs\u002F04.workspaces\u002F02.advanced-usage\u002F02.custom-dev-button",{"title":2210,"path":2211,"stem":2212,"titleTemplate":7},"单\u002F双容器模式","\u002Fdocs\u002Fworkspaces\u002Fadvanced-usage\u002Fdouble-container","docs\u002F04.workspaces\u002F02.advanced-usage\u002F03.double-container",{"title":2214,"path":2215,"stem":2216,"titleTemplate":7},"使用技巧","\u002Fdocs\u002Fworkspaces\u002Fadvanced-usage\u002Ftips","docs\u002F04.workspaces\u002F02.advanced-usage\u002F04.tips",{"title":2218,"path":2219,"stem":2220,"children":2221,"titleTemplate":7,"icon":2232},"本地IDE客户端","\u002Fdocs\u002Fworkspaces\u002Flocalide","docs\u002F04.workspaces\u002F03.localide\u002F01.index",[2222,2224,2228],{"title":2223,"path":2219,"stem":2220,"titleTemplate":7},"VSCode\u002FCursor 客户端",{"title":2225,"path":2226,"stem":2227,"titleTemplate":7},"Jetbrains 客户端","\u002Fdocs\u002Fworkspaces\u002Flocalide\u002Fjetbrains","docs\u002F04.workspaces\u002F03.localide\u002F02.jetbrains",{"title":2229,"path":2230,"stem":2231,"titleTemplate":7},"云原生开发 SSH 密钥指纹验证","\u002Fdocs\u002Fworkspaces\u002Flocalide\u002Ffingerprint","docs\u002F04.workspaces\u002F03.localide\u002F03.fingerprint","lucide:monitor",{"title":2234,"titleTemplate":7,"icon":2235,"path":2236,"stem":2237,"children":2238},"制品库","lucide:package","\u002Fdocs\u002Fartifact","docs\u002F05.artifact\u002Findex",[2239,2241,2245,2249,2253,2257,2261,2265,2269],{"title":2240,"path":2236,"stem":2237,"titleTemplate":7},"制品库介绍",{"title":2242,"path":2243,"stem":2244,"titleTemplate":7},"Composer 制品库","\u002Fdocs\u002Fartifact\u002Fcomposer","docs\u002F05.artifact\u002Fcomposer",{"title":2246,"path":2247,"stem":2248,"titleTemplate":7},"Docker 制品库","\u002Fdocs\u002Fartifact\u002Fdocker","docs\u002F05.artifact\u002Fdocker",{"title":2250,"path":2251,"stem":2252,"titleTemplate":7},"Helm 制品库","\u002Fdocs\u002Fartifact\u002Fhelm","docs\u002F05.artifact\u002Fhelm",{"title":2254,"path":2255,"stem":2256,"titleTemplate":7},"Maven 制品库","\u002Fdocs\u002Fartifact\u002Fmaven","docs\u002F05.artifact\u002Fmaven",{"title":2258,"path":2259,"stem":2260,"titleTemplate":7},"npm 制品库","\u002Fdocs\u002Fartifact\u002Fnpm","docs\u002F05.artifact\u002Fnpm",{"title":2262,"path":2263,"stem":2264,"titleTemplate":7},"Nuget 制品库","\u002Fdocs\u002Fartifact\u002Fnuget","docs\u002F05.artifact\u002Fnuget",{"title":2266,"path":2267,"stem":2268,"titleTemplate":7},"ohpm 制品库","\u002Fdocs\u002Fartifact\u002Fohpm","docs\u002F05.artifact\u002Fohpm",{"title":2270,"path":2271,"stem":2272,"titleTemplate":7},"PyPI 制品库","\u002Fdocs\u002Fartifact\u002Fpypi","docs\u002F05.artifact\u002Fpypi",{"title":2274,"path":2275,"stem":2276,"children":2277,"titleTemplate":7,"icon":2286},"AI助手","\u002Fdocs\u002Fai","docs\u002F06.ai\u002F01.index",[2278,2281],{"title":2279,"path":2275,"stem":2276,"titleTemplate":7,"icon":2280},"AI助手简介","lucide:bot",{"title":2282,"path":2283,"stem":2284,"titleTemplate":7,"icon":2285},"知识库","\u002Fdocs\u002Fai\u002Fknowledge-base","docs\u002F06.ai\u002F02.knowledge-base","lucide:knowledge","lucide:npc",{"title":2288,"titleTemplate":7,"icon":2289,"path":2290,"stem":2291,"children":2292,"page":8},"更多","lucide:menu","\u002Fdocs\u002Fmore","docs\u002F09.more",[2293,2297,2301,2305,2309,2313],{"title":2294,"path":2295,"stem":2296,"titleTemplate":7},"定价","\u002Fdocs\u002Fmore\u002Fpricing","docs\u002F09.more\u002F01.pricing",{"title":2298,"path":2299,"stem":2300,"titleTemplate":7},"平台赞赏","\u002Fdocs\u002Fmore\u002Fsponsor","docs\u002F09.more\u002F02.sponsor",{"title":2302,"path":2303,"stem":2304,"titleTemplate":7},"云原生构建-企业版","\u002Fdocs\u002Fmore\u002Fenterprise","docs\u002F09.more\u002F03.enterprise",{"title":2306,"path":2307,"stem":2308,"titleTemplate":7},"产品Logo","\u002Fdocs\u002Fmore\u002Flogo","docs\u002F09.more\u002F04.logo",{"title":2310,"path":2311,"stem":2312,"titleTemplate":7},"集成TAPD","\u002Fdocs\u002Fmore\u002Ftapd","docs\u002F09.more\u002F05.tapd",{"title":2314,"path":2315,"stem":2316,"children":2317,"titleTemplate":7,"icon":2324},"开发者","\u002Fdocs\u002Fmore\u002Fdevelops","docs\u002F09.more\u002F08.develops\u002F01.index",[2318,2320],{"title":2319,"path":2315,"stem":2316,"titleTemplate":7},"徽章",{"title":2321,"path":2322,"stem":2323,"titleTemplate":7},"Open API","\u002Fdocs\u002Fmore\u002Fdevelops\u002Fopenapi","docs\u002F09.more\u002F08.develops\u002F02.openapi","lucide:code",{"title":2326,"titleTemplate":7,"icon":2327,"path":2328,"stem":2329,"children":2330,"page":8},"目录结构","vscode-icons:default-folder","\u002Fdocs\u002Ftree","docs\u002F22.tree",[2331,2366,2376,2390,2395,2399,2403,2408,2413,2418],{"title":2332,"titleTemplate":7,"defaultOpen":201,"icon":2333,"path":2334,"stem":2335,"children":2336,"page":8},".cnb\u002F","vscode-icons:folder-type-app","\u002Fdocs\u002Ftree\u002F.cnb","docs\u002F22.tree\u002F0..cnb",[2337,2348,2353,2358,2362],{"title":2338,"titleTemplate":7,"defaultOpen":201,"icon":2339,"path":2340,"stem":2341,"children":2342,"page":8},"ISSUE_TEMPLATE\u002F","vscode-icons:folder-type-package","\u002Fdocs\u002Ftree\u002F.cnb\u002Fissue_template","docs\u002F22.tree\u002F0..cnb\u002F99.ISSUE_TEMPLATE",[2343],{"title":2344,"path":2345,"stem":2346,"titleTemplate":7,"icon":2347},"0-feedback","\u002Fdocs\u002Ftree\u002F.cnb\u002Fissue_template\u002F0-feedback","docs\u002F22.tree\u002F0..cnb\u002F99.ISSUE_TEMPLATE\u002F0-feedback","vscode-icons:folder-type-tools",{"title":2349,"path":2350,"stem":2351,"titleTemplate":7,"icon":2352},"logo.svg","\u002Fdocs\u002Ftree\u002F.cnb\u002Flogo_svg","docs\u002F22.tree\u002F0..cnb\u002Flogo_svg","vscode-icons:file-type-image",{"title":2354,"path":2355,"stem":2356,"titleTemplate":7,"icon":2357},"settings.yml","\u002Fdocs\u002Ftree\u002F.cnb\u002Fsettings_yml","docs\u002F22.tree\u002F0..cnb\u002Fsettings_yml","vscode-icons:file-type-light-config",{"title":2359,"path":2360,"stem":2361,"titleTemplate":7,"icon":2357},"tag_deploy.yml","\u002Fdocs\u002Ftree\u002F.cnb\u002Ftag_deploy_yml","docs\u002F22.tree\u002F0..cnb\u002Ftag_deploy_yml",{"title":2363,"path":2364,"stem":2365,"titleTemplate":7,"icon":2357},"web_trigger.yml","\u002Fdocs\u002Ftree\u002F.cnb\u002Fweb_trigger_yml","docs\u002F22.tree\u002F0..cnb\u002Fweb_trigger_yml",{"title":2367,"titleTemplate":7,"defaultOpen":201,"icon":2333,"path":2368,"stem":2369,"children":2370,"page":8},".ide\u002F","\u002Fdocs\u002Ftree\u002F.ide","docs\u002F22.tree\u002F0..ide",[2371],{"title":2372,"path":2373,"stem":2374,"titleTemplate":7,"icon":2375},"Dockerfile","\u002Fdocs\u002Ftree\u002F.ide\u002Fdockerfile","docs\u002F22.tree\u002F0..ide\u002FDockerfile","vscode-icons:default-file",{"title":2377,"titleTemplate":7,"defaultOpen":8,"icon":2378,"path":2379,"stem":2380,"children":2381,"page":8},"node_modules\u002F","vscode-icons:folder-type-node","\u002Fdocs\u002Ftree\u002Fnode-modules","docs\u002F22.tree\u002F0.node-modules",[2382,2386],{"title":2383,"path":2384,"stem":2385,"titleTemplate":7,"icon":2378},".bin\u002F","\u002Fdocs\u002Ftree\u002Fnode-modules\u002Fbin","docs\u002F22.tree\u002F0.node-modules\u002Fbin",{"title":2387,"path":2388,"stem":2389,"titleTemplate":7,"icon":2378},".cache\u002F","\u002Fdocs\u002Ftree\u002Fnode-modules\u002Fcache","docs\u002F22.tree\u002F0.node-modules\u002Fcache",{"title":2391,"path":2392,"stem":2393,"titleTemplate":7,"icon":2394},"public\u002F","\u002Fdocs\u002Ftree\u002Fpublic","docs\u002F22.tree\u002F0.public","vscode-icons:folder-type-public",{"title":2396,"path":2397,"stem":2398,"titleTemplate":7,"icon":2375},"README.md","\u002Fdocs\u002Ftree\u002Freadme","docs\u002F22.tree\u002F1.README",{"title":2400,"path":2401,"stem":2402,"titleTemplate":7,"icon":2357},".cnb.yml","\u002Fdocs\u002Ftree\u002Fcnb_yml","docs\u002F22.tree\u002F1.cnb_yml",{"title":2404,"path":2405,"stem":2406,"titleTemplate":7,"icon":2407},".env","\u002Fdocs\u002Ftree\u002Fenv","docs\u002F22.tree\u002F1.env","vscode-icons:file-type-dotenv",{"title":2409,"path":2410,"stem":2411,"titleTemplate":7,"icon":2412},".gitignore","\u002Fdocs\u002Ftree\u002Fgitignore","docs\u002F22.tree\u002F1.gitignore","vscode-icons:file-type-git",{"title":2414,"path":2415,"stem":2416,"titleTemplate":7,"icon":2417},"package.json","\u002Fdocs\u002Ftree\u002Fpackage","docs\u002F22.tree\u002F1.package","vscode-icons:file-type-npm",{"title":2419,"path":2420,"stem":2421,"titleTemplate":7,"icon":2417},"pnpm-lock.yaml","\u002Fdocs\u002Ftree\u002Fpnpm-lock_yaml","docs\u002F22.tree\u002F1.pnpm-lock_yaml",{"title":2423,"titleTemplate":7,"icon":2424,"path":2425,"stem":2426,"children":2427},"API","lucide:code-xml","\u002Fdocs\u002Fapi","docs\u002F44.api\u002Findex",[2428,2430,2434,2438,2442,2446,2450,2454,2458,2462,2466,2470,2474,2478,2482,2486,2490,2494,2498,2502,2506,2510,2514,2518,2522,2526,2530,2534,2538],{"title":2429,"path":2425,"stem":2426,"titleTemplate":7},"API 介绍",{"title":2431,"path":2432,"stem":2433,"titleTemplate":7},"活动 Activities","\u002Fdocs\u002Fapi\u002Factivities","docs\u002F44.api\u002Factivities",{"title":2435,"path":2436,"stem":2437,"titleTemplate":7},"AI 功能","\u002Fdocs\u002Fapi\u002Fai","docs\u002F44.api\u002Fai",{"title":2439,"path":2440,"stem":2441,"titleTemplate":7},"资源 Assets","\u002Fdocs\u002Fapi\u002Fassets","docs\u002F44.api\u002Fassets",{"title":2443,"path":2444,"stem":2445,"titleTemplate":7},"徽章 Badge","\u002Fdocs\u002Fapi\u002Fbadge","docs\u002F44.api\u002Fbadge",{"title":2447,"path":2448,"stem":2449,"titleTemplate":7},"构建 Build","\u002Fdocs\u002Fapi\u002Fbuild","docs\u002F44.api\u002Fbuild",{"title":2451,"path":2452,"stem":2453,"titleTemplate":7},"计费 Charge","\u002Fdocs\u002Fapi\u002Fcharge","docs\u002F44.api\u002Fcharge",{"title":2455,"path":2456,"stem":2457,"titleTemplate":7},"协作者 Collaborators","\u002Fdocs\u002Fapi\u002Fcollaborators","docs\u002F44.api\u002Fcollaborators",{"title":2459,"path":2460,"stem":2461,"titleTemplate":7},"事件 Event","\u002Fdocs\u002Fapi\u002Fevent","docs\u002F44.api\u002Fevent",{"title":2463,"path":2464,"stem":2465,"titleTemplate":7},"关注者 Followers","\u002Fdocs\u002Fapi\u002Ffollowers","docs\u002F44.api\u002Ffollowers",{"title":2467,"path":2468,"stem":2469,"titleTemplate":7},"Git 操作","\u002Fdocs\u002Fapi\u002Fgit","docs\u002F44.api\u002Fgit",{"title":2471,"path":2472,"stem":2473,"titleTemplate":7},"Git 设置","\u002Fdocs\u002Fapi\u002Fgit-settings","docs\u002F44.api\u002Fgit-settings",{"title":2475,"path":2476,"stem":2477,"titleTemplate":7},"问题 Issues","\u002Fdocs\u002Fapi\u002Fissues","docs\u002F44.api\u002Fissues",{"title":2479,"path":2480,"stem":2481,"titleTemplate":7},"知识库 KnowledgeBase","\u002Fdocs\u002Fapi\u002Fknowledge-base","docs\u002F44.api\u002Fknowledge-base",{"title":2483,"path":2484,"stem":2485,"titleTemplate":7},"成员 Members","\u002Fdocs\u002Fapi\u002Fmembers","docs\u002F44.api\u002Fmembers",{"title":2487,"path":2488,"stem":2489,"titleTemplate":7},"任务 Missions","\u002Fdocs\u002Fapi\u002Fmissions","docs\u002F44.api\u002Fmissions",{"title":2491,"path":2492,"stem":2493,"titleTemplate":7},"组织 Organizations","\u002Fdocs\u002Fapi\u002Forganizations","docs\u002F44.api\u002Forganizations",{"title":2495,"path":2496,"stem":2497,"titleTemplate":7},"Pull Requests","\u002Fdocs\u002Fapi\u002Fpulls","docs\u002F44.api\u002Fpulls",{"title":2499,"path":2500,"stem":2501,"titleTemplate":7},"注册表 Registries","\u002Fdocs\u002Fapi\u002Fregistries","docs\u002F44.api\u002Fregistries",{"title":2503,"path":2504,"stem":2505,"titleTemplate":7},"发布 Releases","\u002Fdocs\u002Fapi\u002Freleases","docs\u002F44.api\u002Freleases",{"title":2507,"path":2508,"stem":2509,"titleTemplate":7},"代码问题","\u002Fdocs\u002Fapi\u002Frepo-code-issue","docs\u002F44.api\u002Frepo-code-issue",{"title":2511,"path":2512,"stem":2513,"titleTemplate":7},"贡献者","\u002Fdocs\u002Fapi\u002Frepo-contributor","docs\u002F44.api\u002Frepo-contributor",{"title":2515,"path":2516,"stem":2517,"titleTemplate":7},"仓库标签","\u002Fdocs\u002Fapi\u002Frepo-labels","docs\u002F44.api\u002Frepo-labels",{"title":2519,"path":2520,"stem":2521,"titleTemplate":7},"仓库 Repositories","\u002Fdocs\u002Fapi\u002Frepositories","docs\u002F44.api\u002Frepositories",{"title":2523,"path":2524,"stem":2525,"titleTemplate":7},"搜索 Search","\u002Fdocs\u002Fapi\u002Fsearch","docs\u002F44.api\u002Fsearch",{"title":2527,"path":2528,"stem":2529,"titleTemplate":7},"安全 Security","\u002Fdocs\u002Fapi\u002Fsecurity","docs\u002F44.api\u002Fsecurity",{"title":2531,"path":2532,"stem":2533,"titleTemplate":7},"星标 Starring","\u002Fdocs\u002Fapi\u002Fstarring","docs\u002F44.api\u002Fstarring",{"title":2535,"path":2536,"stem":2537,"titleTemplate":7},"用户 Users","\u002Fdocs\u002Fapi\u002Fusers","docs\u002F44.api\u002Fusers",{"title":2539,"path":2540,"stem":2541,"titleTemplate":7},"工作空间 Workspace","\u002Fdocs\u002Fapi\u002Fworkspace","docs\u002F44.api\u002Fworkspace",{"title":2543,"path":2544,"stem":2545,"children":2546,"titleTemplate":7,"icon":2555},"社区","\u002Fdocs\u002Fcommunity","docs\u002F55.community\u002Findex",[2547,2550],{"title":2548,"path":2544,"stem":2545,"titleTemplate":7,"icon":2549},"获取帮助","lucide:life-buoy",{"title":2551,"path":2552,"stem":2553,"titleTemplate":7,"icon":2554},"报告 Bug","\u002Fdocs\u002Fcommunity\u002Freporting-bugs","docs\u002F55.community\u002Freporting-bugs","lucide:bug","lucide:messages-square",{"title":2140,"titleTemplate":7,"icon":2557,"path":2558,"stem":2559,"children":2560},"lucide:layout","\u002Fdocs\u002Fexamples","docs\u002Fexamples\u002Findex",[2561,2563,2573],{"title":2562,"path":2558,"stem":2559,"titleTemplate":7},"CNB完整示例",{"title":2564,"path":2565,"stem":2566,"children":2567,"titleTemplate":7},"构建环境和开发环境","\u002Fdocs\u002Fexamples\u002Ffeatures","docs\u002Fexamples\u002F1.features\u002Findex",[2568,2569],{"title":2564,"path":2565,"stem":2566,"titleTemplate":7},{"title":2570,"path":2571,"stem":2572,"titleTemplate":7},"Issue\u002Fpr 使用场景","\u002Fdocs\u002Fexamples\u002Ffeatures\u002Flayouts","docs\u002Fexamples\u002F1.features\u002F5.layouts",{"title":2574,"path":2575,"stem":2576,"children":2577,"titleTemplate":7},"路由","\u002Fdocs\u002Fexamples\u002Frouting","docs\u002Fexamples\u002F2.routing\u002Findex",[2578,2579],{"title":2574,"path":2575,"stem":2576,"titleTemplate":7},{"title":2580,"path":2581,"stem":2582,"titleTemplate":7},"中间件","\u002Fdocs\u002Fexamples\u002Frouting\u002Fmiddleware","docs\u002Fexamples\u002F2.routing\u002Fmiddleware",{"title":2584,"path":2585,"stem":2586,"children":2587,"page":8},"Blog","\u002Fblog","blog",[2588,2592,2596,2600,2604],{"title":2589,"path":2590,"stem":2591},"提示框组件演示","\u002Fblog\u002Fdemo-feedback","blog\u002Fdemo-feedback",{"title":2593,"path":2594,"stem":2595},"DOM 操作基础","\u002Fblog\u002Fdom-manipulation","blog\u002Fdom-manipulation",{"title":2597,"path":2598,"stem":2599},"HTML 基础入门","\u002Fblog\u002Fhtml-basics","blog\u002Fhtml-basics",{"title":2601,"path":2602,"stem":2603},"JavaScript 异步编程","\u002Fblog\u002Fjavascript-async","blog\u002Fjavascript-async",{"title":2605,"path":2606,"stem":2607},"响应式网页设计","\u002Fblog\u002Fresponsive-design","blog\u002Fresponsive-design",{"id":2609,"title":2270,"body":2610,"description":4546,"extension":188,"links":7,"meta":4547,"navigation":201,"path":2271,"seo":4548,"stem":2272,"titleTemplate":7,"__hash__":4549},"docs\u002Fdocs\u002F05.artifact\u002Fpypi.md",{"type":10,"value":2611,"toc":4517},[2612,2615,2621,2625,2631,2634,2640,2643,2646,2651,2678,2683,2743,2746,2749,2799,2802,2837,2840,2890,2892,2924,2927,2930,3008,3011,3014,3053,3056,3080,3082,3084,3087,3092,3192,3197,3287,3289,3378,3381,3384,3388,3494,3499,3631,3634,3638,3739,3743,3864,3866,3868,3871,3874,3956,3959,3963,4003,4007,4056,4059,4062,4066,4133,4137,4204,4206,4210,4272,4276,4343,4345,4348,4418,4421,4423,4451,4453,4473,4475,4479,4483,4494,4498,4501,4505,4508,4511,4514],[21,2613,2614],{"id":2614},"创建制品库",[17,2616,2617,2618],{},"参考 ",[129,2619,2614],{"href":2620},"\u002Fdocs\u002Fartifact#%E5%88%9B%E5%BB%BA%E5%88%B6%E5%93%81%E5%BA%93",[2622,2623,2624],"h3",{"id":2624},"获取制品库地址",[17,2626,2617,2627],{},[129,2628,2630],{"href":2629},"\u002Fdocs\u002Fartifact#%E8%8E%B7%E5%8F%96%E5%88%B6%E5%93%81%E5%BA%93%E7%9A%84%E5%9C%B0%E5%9D%80","获取制品库的地址",[21,2632,2633],{"id":2633},"创建令牌",[17,2635,2636,2637],{},"云原生构建平台的所有资源(包括代码仓库、制品库、OPENAPI等)，都需要通过访问令牌进行操作。 ",[129,2638,2633],{"href":2639},"\u002Fdocs\u002Fartifact#%E5%88%9B%E5%BB%BA%E8%AE%BF%E9%97%AE%E4%BB%A4%E7%89%8C",[21,2641,2642],{"id":2642},"本地开发",[2622,2644,2645],{"id":2645},"配置拉取凭据",[123,2647,2648],{},[126,2649,2650],{},"方案1: 在 ~\u002F.pip\u002Fpip.conf(MacOS\u002FLinux) 或者 %HOME%\\pip\\pip.ini(Windows) 中添加 pip 源配置",[25,2652,2656],{"className":2653,"code":2654,"language":2655,"meta":30,"style":30},"language-INI shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","[global]\n# TOKEN: 访问令牌的 password; REPO_URL: 制品库地址\n# 示例: index-url = https:\u002F\u002Fcnb:29bGg84xqRf3ZweNpYlL92e7tDv@pypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\nindex-url = https:\u002F\u002Fcnb:\u003CTOKEN>@\u003CREPO_URL>\n","INI",[32,2657,2658,2663,2668,2673],{"__ignoreMap":30},[35,2659,2660],{"class":37,"line":38},[35,2661,2662],{},"[global]\n",[35,2664,2665],{"class":37,"line":90},[35,2666,2667],{},"# TOKEN: 访问令牌的 password; REPO_URL: 制品库地址\n",[35,2669,2670],{"class":37,"line":112},[35,2671,2672],{},"# 示例: index-url = https:\u002F\u002Fcnb:29bGg84xqRf3ZweNpYlL92e7tDv@pypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\n",[35,2674,2675],{"class":37,"line":162},[35,2676,2677],{},"index-url = https:\u002F\u002Fcnb:\u003CTOKEN>@\u003CREPO_URL>\n",[123,2679,2680],{},[126,2681,2682],{},"方案2: 您也可以使用命令行设置",[25,2684,2688],{"className":2685,"code":2686,"language":2687,"meta":30,"style":30},"language-shell shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","# TOKEN: 访问令牌的 password; REPO_URL: 制品库地址\n# 示例: pip config set global.index-url https:\u002F\u002Fcnb:29bGg84xqRf3ZweNpYlL92e7tDv@pypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\npip config set global.index-url https:\u002F\u002Fcnb:\u003CTOKEN>@\u003CREPO_URL>\n","shell",[32,2689,2690,2695,2700],{"__ignoreMap":30},[35,2691,2692],{"class":37,"line":38},[35,2693,2667],{"class":2694},"sWuyu",[35,2696,2697],{"class":37,"line":90},[35,2698,2699],{"class":2694},"# 示例: pip config set global.index-url https:\u002F\u002Fcnb:29bGg84xqRf3ZweNpYlL92e7tDv@pypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\n",[35,2701,2702,2705,2708,2711,2714,2717,2720,2723,2726,2729,2732,2734,2737,2740],{"class":37,"line":112},[35,2703,2704],{"class":41},"pip",[35,2706,2707],{"class":45}," config",[35,2709,2710],{"class":45}," set",[35,2712,2713],{"class":45}," global.index-url",[35,2715,2716],{"class":45}," https:\u002F\u002Fcnb:",[35,2718,2719],{"class":86},"\u003C",[35,2721,2722],{"class":45},"TOKE",[35,2724,2725],{"class":82},"N",[35,2727,2728],{"class":86},">",[35,2730,2731],{"class":45},"@",[35,2733,2719],{"class":86},[35,2735,2736],{"class":45},"REPO_UR",[35,2738,2739],{"class":82},"L",[35,2741,2742],{"class":86},">\n",[2622,2744,2745],{"id":2745},"配置推送凭据",[17,2747,2748],{},"::: tabs\n@tab twine 配置\n请在 ~\u002F.pypirc 文件中添加以下配置",[25,2750,2752],{"className":2653,"code":2751,"language":2655,"meta":30,"style":30},"[distutils]\nindex-servers =\n coding-pypi\n[coding-pypi]\n# 制品库地址\nrepository: \u003CREPO_URL>\nusername: cnb\n# 访问令牌的 password\npassword: \u003CTOKEN>\n",[32,2753,2754,2759,2764,2769,2774,2779,2784,2789,2794],{"__ignoreMap":30},[35,2755,2756],{"class":37,"line":38},[35,2757,2758],{},"[distutils]\n",[35,2760,2761],{"class":37,"line":90},[35,2762,2763],{},"index-servers =\n",[35,2765,2766],{"class":37,"line":112},[35,2767,2768],{}," coding-pypi\n",[35,2770,2771],{"class":37,"line":162},[35,2772,2773],{},"[coding-pypi]\n",[35,2775,2776],{"class":37,"line":166},[35,2777,2778],{},"# 制品库地址\n",[35,2780,2781],{"class":37,"line":170},[35,2782,2783],{},"repository: \u003CREPO_URL>\n",[35,2785,2786],{"class":37,"line":174},[35,2787,2788],{},"username: cnb\n",[35,2790,2791],{"class":37,"line":178},[35,2792,2793],{},"# 访问令牌的 password\n",[35,2795,2796],{"class":37,"line":181},[35,2797,2798],{},"password: \u003CTOKEN>\n",[17,2800,2801],{},"示例:",[25,2803,2805],{"className":2653,"code":2804,"language":2655,"meta":30,"style":30},"[distutils]\nindex-servers =\n coding-pypi\n[coding-pypi]\nrepository: https:\u002F\u002Fpypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\nusername: cnb\npassword: \"29bGg84xqRf3ZweNpYlL92e7tDv\"\n",[32,2806,2807,2811,2815,2819,2823,2828,2832],{"__ignoreMap":30},[35,2808,2809],{"class":37,"line":38},[35,2810,2758],{},[35,2812,2813],{"class":37,"line":90},[35,2814,2763],{},[35,2816,2817],{"class":37,"line":112},[35,2818,2768],{},[35,2820,2821],{"class":37,"line":162},[35,2822,2773],{},[35,2824,2825],{"class":37,"line":166},[35,2826,2827],{},"repository: https:\u002F\u002Fpypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\n",[35,2829,2830],{"class":37,"line":170},[35,2831,2788],{},[35,2833,2834],{"class":37,"line":174},[35,2835,2836],{},"password: \"29bGg84xqRf3ZweNpYlL92e7tDv\"\n",[17,2838,2839],{},"@tab poetry 配置\n运行以下命令",[25,2841,2843],{"className":2685,"code":2842,"language":2687,"meta":30,"style":30},"poetry config http-basic.cnb-pypi cnb \u003CTOKEN> # 访问令牌的 password\npoetry config repositories.cnb-pypi \u003CREPO_URL> # 制品库地址\n",[32,2844,2845,2870],{"__ignoreMap":30},[35,2846,2847,2850,2852,2855,2858,2861,2863,2865,2867],{"class":37,"line":38},[35,2848,2849],{"class":41},"poetry",[35,2851,2707],{"class":45},[35,2853,2854],{"class":45}," http-basic.cnb-pypi",[35,2856,2857],{"class":45}," cnb",[35,2859,2860],{"class":86}," \u003C",[35,2862,2722],{"class":45},[35,2864,2725],{"class":82},[35,2866,2728],{"class":86},[35,2868,2869],{"class":2694}," # 访问令牌的 password\n",[35,2871,2872,2874,2876,2879,2881,2883,2885,2887],{"class":37,"line":90},[35,2873,2849],{"class":41},[35,2875,2707],{"class":45},[35,2877,2878],{"class":45}," repositories.cnb-pypi",[35,2880,2860],{"class":86},[35,2882,2736],{"class":45},[35,2884,2739],{"class":82},[35,2886,2728],{"class":86},[35,2888,2889],{"class":2694}," # 制品库地址\n",[17,2891,2801],{},[25,2893,2895],{"className":2685,"code":2894,"language":2687,"meta":30,"style":30},"poetry config http-basic.cnb-pypi cnb 29bGg84xqRf3ZweNpYlL92e7tDv \npoetry config repositories.cnb-pypi https:\u002F\u002Fpypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\n",[32,2896,2897,2913],{"__ignoreMap":30},[35,2898,2899,2901,2903,2905,2907,2910],{"class":37,"line":38},[35,2900,2849],{"class":41},[35,2902,2707],{"class":45},[35,2904,2854],{"class":45},[35,2906,2857],{"class":45},[35,2908,2909],{"class":45}," 29bGg84xqRf3ZweNpYlL92e7tDv",[35,2911,2912],{"class":82}," \n",[35,2914,2915,2917,2919,2921],{"class":37,"line":90},[35,2916,2849],{"class":41},[35,2918,2707],{"class":45},[35,2920,2878],{"class":45},[35,2922,2923],{"class":45}," https:\u002F\u002Fpypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\n",[17,2925,2926],{},":::",[2622,2928,2929],{"id":2929},"拉取制品",[25,2931,2933],{"className":2685,"code":2932,"language":2687,"meta":30,"style":30},"#示例1: pip install requests\n#示例2: 拉取指定版本 pip install requests==2.30.1\npip install \u003CPACKAGE_NAME>\n\n# 示例,临时源拉取 pip install -i https:\u002F\u002Fcnb:29bGg84xqRf3ZweNpYlL92e7tDv@pypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple requests\npip install -i https:\u002F\u002Fcnb:\u003CTOKEN>@\u003CREPO_URL> \u003CPACKAGE_NAME>\n\n",[32,2934,2935,2940,2945,2961,2966,2971],{"__ignoreMap":30},[35,2936,2937],{"class":37,"line":38},[35,2938,2939],{"class":2694},"#示例1: pip install requests\n",[35,2941,2942],{"class":37,"line":90},[35,2943,2944],{"class":2694},"#示例2: 拉取指定版本 pip install requests==2.30.1\n",[35,2946,2947,2949,2951,2953,2956,2959],{"class":37,"line":112},[35,2948,2704],{"class":41},[35,2950,46],{"class":45},[35,2952,2860],{"class":86},[35,2954,2955],{"class":45},"PACKAGE_NAM",[35,2957,2958],{"class":82},"E",[35,2960,2742],{"class":86},[35,2962,2963],{"class":37,"line":162},[35,2964,2965],{"emptyLinePlaceholder":201},"\n",[35,2967,2968],{"class":37,"line":166},[35,2969,2970],{"class":2694},"# 示例,临时源拉取 pip install -i https:\u002F\u002Fcnb:29bGg84xqRf3ZweNpYlL92e7tDv@pypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple requests\n",[35,2972,2973,2975,2977,2980,2982,2984,2986,2988,2990,2992,2994,2996,2998,3000,3002,3004,3006],{"class":37,"line":170},[35,2974,2704],{"class":41},[35,2976,46],{"class":45},[35,2978,2979],{"class":45}," -i",[35,2981,2716],{"class":45},[35,2983,2719],{"class":86},[35,2985,2722],{"class":45},[35,2987,2725],{"class":82},[35,2989,2728],{"class":86},[35,2991,2731],{"class":45},[35,2993,2719],{"class":86},[35,2995,2736],{"class":45},[35,2997,2739],{"class":82},[35,2999,2728],{"class":86},[35,3001,2860],{"class":86},[35,3003,2955],{"class":45},[35,3005,2958],{"class":82},[35,3007,2742],{"class":86},[2622,3009,3010],{"id":3010},"编译及推送制品",[17,3012,3013],{},"::: tabs\n@tab twine",[25,3015,3017],{"className":2685,"code":3016,"language":2687,"meta":30,"style":30},"python -m build  \ntwine upload -r cnb-pypi dist\u002F*\n",[32,3018,3019,3033],{"__ignoreMap":30},[35,3020,3021,3024,3027,3030],{"class":37,"line":38},[35,3022,3023],{"class":41},"python",[35,3025,3026],{"class":45}," -m",[35,3028,3029],{"class":45}," build",[35,3031,3032],{"class":82},"  \n",[35,3034,3035,3038,3041,3044,3047,3050],{"class":37,"line":90},[35,3036,3037],{"class":41},"twine",[35,3039,3040],{"class":45}," upload",[35,3042,3043],{"class":45}," -r",[35,3045,3046],{"class":45}," cnb-pypi",[35,3048,3049],{"class":45}," dist\u002F",[35,3051,3052],{"class":82},"*\n",[17,3054,3055],{},"@tab poetry",[25,3057,3059],{"className":2685,"code":3058,"language":2687,"meta":30,"style":30},"poetry build\npoetry publish -r cnb-pypi\n",[32,3060,3061,3068],{"__ignoreMap":30},[35,3062,3063,3065],{"class":37,"line":38},[35,3064,2849],{"class":41},[35,3066,3067],{"class":45}," build\n",[35,3069,3070,3072,3075,3077],{"class":37,"line":90},[35,3071,2849],{"class":41},[35,3073,3074],{"class":45}," publish",[35,3076,3043],{"class":45},[35,3078,3079],{"class":45}," cnb-pypi\n",[17,3081,2926],{},[21,3083,2026],{"id":2026},[2622,3085,2929],{"id":3086},"拉取制品-1",[123,3088,3089],{},[126,3090,3091],{},"方案1: 使用内置的 CNB_TOKEN 环境变量:",[25,3093,3097],{"className":3094,"code":3095,"language":3096,"meta":30,"style":30},"language-yaml shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","main:\n  push:\n    - docker:\n        image: docker.cnb.cool\u002Fexamples\u002Flanguage\u002Fpython-3:latest \n      stages:\n        - name: 拉取制品\n          script:\n            # 制品库地址\n            # 示例: pip config set global.index-url https:\u002F\u002Fcnb:${CNB_TOKEN}@pypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\n            - pip config set global.index-url https:\u002F\u002Fcnb:${CNB_TOKEN}@\u003CREPO_URL>\n            # 示例: pip install requests\n            - pip install \u003CPACKAGE_NAME>\n","yaml",[32,3098,3099,3106,3113,3123,3135,3142,3155,3162,3167,3172,3180,3185],{"__ignoreMap":30},[35,3100,3101,3103],{"class":37,"line":38},[35,3102,210],{"class":93},[35,3104,3105],{"class":86},":\n",[35,3107,3108,3111],{"class":37,"line":90},[35,3109,3110],{"class":93},"  push",[35,3112,3105],{"class":86},[35,3114,3115,3118,3121],{"class":37,"line":112},[35,3116,3117],{"class":86},"    -",[35,3119,3120],{"class":93}," docker",[35,3122,3105],{"class":86},[35,3124,3125,3128,3130,3133],{"class":37,"line":162},[35,3126,3127],{"class":93},"        image",[35,3129,59],{"class":86},[35,3131,3132],{"class":45}," docker.cnb.cool\u002Fexamples\u002Flanguage\u002Fpython-3:latest",[35,3134,2912],{"class":82},[35,3136,3137,3140],{"class":37,"line":166},[35,3138,3139],{"class":93},"      stages",[35,3141,3105],{"class":86},[35,3143,3144,3147,3150,3152],{"class":37,"line":170},[35,3145,3146],{"class":86},"        -",[35,3148,3149],{"class":93}," name",[35,3151,59],{"class":86},[35,3153,3154],{"class":45}," 拉取制品\n",[35,3156,3157,3160],{"class":37,"line":174},[35,3158,3159],{"class":93},"          script",[35,3161,3105],{"class":86},[35,3163,3164],{"class":37,"line":178},[35,3165,3166],{"class":2694},"            # 制品库地址\n",[35,3168,3169],{"class":37,"line":181},[35,3170,3171],{"class":2694},"            # 示例: pip config set global.index-url https:\u002F\u002Fcnb:${CNB_TOKEN}@pypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\n",[35,3173,3174,3177],{"class":37,"line":185},[35,3175,3176],{"class":86},"            -",[35,3178,3179],{"class":45}," pip config set global.index-url https:\u002F\u002Fcnb:${CNB_TOKEN}@\u003CREPO_URL>\n",[35,3181,3182],{"class":37,"line":1000},[35,3183,3184],{"class":2694},"            # 示例: pip install requests\n",[35,3186,3187,3189],{"class":37,"line":1025},[35,3188,3176],{"class":86},[35,3190,3191],{"class":45}," pip install \u003CPACKAGE_NAME>\n",[123,3193,3194],{},[126,3195,3196],{},"方案2: 使用密钥仓库文件:",[25,3198,3200],{"className":3094,"code":3199,"language":3096,"meta":30,"style":30},"main:\n  push:\n    - docker:\n        image: docker.cnb.cool\u002Fexamples\u002Flanguage\u002Fpython-3:latest\n      imports:\n        # 引入密钥仓库配置文件\n        - \u003CSECRET_REPO_URL> \n      stages:\n        - name: 拉取制品\n          script:\n            - pip config set global.index-url https:\u002F\u002F\u003CUSER_NAME>:\u003CPASS_WORD>@\u003CREPO_URL>\n            - pip install \u003CPACKAGE_NAME>\n",[32,3201,3202,3208,3214,3222,3231,3238,3243,3252,3258,3268,3274,3281],{"__ignoreMap":30},[35,3203,3204,3206],{"class":37,"line":38},[35,3205,210],{"class":93},[35,3207,3105],{"class":86},[35,3209,3210,3212],{"class":37,"line":90},[35,3211,3110],{"class":93},[35,3213,3105],{"class":86},[35,3215,3216,3218,3220],{"class":37,"line":112},[35,3217,3117],{"class":86},[35,3219,3120],{"class":93},[35,3221,3105],{"class":86},[35,3223,3224,3226,3228],{"class":37,"line":162},[35,3225,3127],{"class":93},[35,3227,59],{"class":86},[35,3229,3230],{"class":45}," docker.cnb.cool\u002Fexamples\u002Flanguage\u002Fpython-3:latest\n",[35,3232,3233,3236],{"class":37,"line":166},[35,3234,3235],{"class":93},"      imports",[35,3237,3105],{"class":86},[35,3239,3240],{"class":37,"line":170},[35,3241,3242],{"class":2694},"        # 引入密钥仓库配置文件\n",[35,3244,3245,3247,3250],{"class":37,"line":174},[35,3246,3146],{"class":86},[35,3248,3249],{"class":45}," \u003CSECRET_REPO_URL>",[35,3251,2912],{"class":82},[35,3253,3254,3256],{"class":37,"line":178},[35,3255,3139],{"class":93},[35,3257,3105],{"class":86},[35,3259,3260,3262,3264,3266],{"class":37,"line":181},[35,3261,3146],{"class":86},[35,3263,3149],{"class":93},[35,3265,59],{"class":86},[35,3267,3154],{"class":45},[35,3269,3270,3272],{"class":37,"line":185},[35,3271,3159],{"class":93},[35,3273,3105],{"class":86},[35,3275,3276,3278],{"class":37,"line":1000},[35,3277,3176],{"class":86},[35,3279,3280],{"class":45}," pip config set global.index-url https:\u002F\u002F\u003CUSER_NAME>:\u003CPASS_WORD>@\u003CREPO_URL>\n",[35,3282,3283,3285],{"class":37,"line":1025},[35,3284,3176],{"class":86},[35,3286,3191],{"class":45},[17,3288,2801],{},[25,3290,3292],{"className":3094,"code":3291,"language":3096,"meta":30,"style":30},"main:\n  push:\n    - docker:\n        image: docker.cnb.cool\u002Fexamples\u002Flanguage\u002Fpython-3:latest\n      imports:\n        - https:\u002F\u002Fcnb.cool\u002Fcnb-demo\u002Fenv-demo\u002F-\u002Fblob\u002Fmain\u002Fenvs\u002Fenv.yml \n      stages:\n        - name: 拉取制品\n          script:\n            # 引入密钥仓库配置文件，以环境变量的形式注入 USER_NAME 和 PASS_WORD 的值\n            - pip config set global.index-url https:\u002F\u002F${USER_NAME}:${PASS_WORD}@pypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\n            - pip install requests\n",[32,3293,3294,3300,3306,3314,3322,3328,3337,3343,3353,3359,3364,3371],{"__ignoreMap":30},[35,3295,3296,3298],{"class":37,"line":38},[35,3297,210],{"class":93},[35,3299,3105],{"class":86},[35,3301,3302,3304],{"class":37,"line":90},[35,3303,3110],{"class":93},[35,3305,3105],{"class":86},[35,3307,3308,3310,3312],{"class":37,"line":112},[35,3309,3117],{"class":86},[35,3311,3120],{"class":93},[35,3313,3105],{"class":86},[35,3315,3316,3318,3320],{"class":37,"line":162},[35,3317,3127],{"class":93},[35,3319,59],{"class":86},[35,3321,3230],{"class":45},[35,3323,3324,3326],{"class":37,"line":166},[35,3325,3235],{"class":93},[35,3327,3105],{"class":86},[35,3329,3330,3332,3335],{"class":37,"line":170},[35,3331,3146],{"class":86},[35,3333,3334],{"class":45}," https:\u002F\u002Fcnb.cool\u002Fcnb-demo\u002Fenv-demo\u002F-\u002Fblob\u002Fmain\u002Fenvs\u002Fenv.yml",[35,3336,2912],{"class":82},[35,3338,3339,3341],{"class":37,"line":174},[35,3340,3139],{"class":93},[35,3342,3105],{"class":86},[35,3344,3345,3347,3349,3351],{"class":37,"line":178},[35,3346,3146],{"class":86},[35,3348,3149],{"class":93},[35,3350,59],{"class":86},[35,3352,3154],{"class":45},[35,3354,3355,3357],{"class":37,"line":181},[35,3356,3159],{"class":93},[35,3358,3105],{"class":86},[35,3360,3361],{"class":37,"line":185},[35,3362,3363],{"class":2694},"            # 引入密钥仓库配置文件，以环境变量的形式注入 USER_NAME 和 PASS_WORD 的值\n",[35,3365,3366,3368],{"class":37,"line":1000},[35,3367,3176],{"class":86},[35,3369,3370],{"class":45}," pip config set global.index-url https:\u002F\u002F${USER_NAME}:${PASS_WORD}@pypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\n",[35,3372,3373,3375],{"class":37,"line":1025},[35,3374,3176],{"class":86},[35,3376,3377],{"class":45}," pip install requests\n",[2622,3379,3380],{"id":3380},"推送制品",[17,3382,3383],{},"::: tabs\n@tab twine 配置",[123,3385,3386],{},[126,3387,3091],{},[25,3389,3391],{"className":3094,"code":3390,"language":3096,"meta":30,"style":30},"main: \n  push: \n    - docker:\n        image: docker.cnb.cool\u002Fexamples\u002Flanguage\u002Fpython-3:latest\n      stages:\n        - name: 打包 & 上传至仓库\n          script:\n            - export TWINE_USERNAME=\"cnb\" \n            - export TWINE_PASSWORD=${CNB_TOKEN}\n            # 制品库地址\n            # 示例: export TWINE_REPOSITORY_URL=https:\u002F\u002Fpypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple \n            - export TWINE_REPOSITORY_URL=\u003CREPO_URL>\n            - python -m build\n            - twine upload dist\u002F*\n",[32,3392,3393,3401,3409,3417,3425,3431,3442,3448,3457,3464,3468,3473,3480,3487],{"__ignoreMap":30},[35,3394,3395,3397,3399],{"class":37,"line":38},[35,3396,210],{"class":93},[35,3398,59],{"class":86},[35,3400,2912],{"class":82},[35,3402,3403,3405,3407],{"class":37,"line":90},[35,3404,3110],{"class":93},[35,3406,59],{"class":86},[35,3408,2912],{"class":82},[35,3410,3411,3413,3415],{"class":37,"line":112},[35,3412,3117],{"class":86},[35,3414,3120],{"class":93},[35,3416,3105],{"class":86},[35,3418,3419,3421,3423],{"class":37,"line":162},[35,3420,3127],{"class":93},[35,3422,59],{"class":86},[35,3424,3230],{"class":45},[35,3426,3427,3429],{"class":37,"line":166},[35,3428,3139],{"class":93},[35,3430,3105],{"class":86},[35,3432,3433,3435,3437,3439],{"class":37,"line":170},[35,3434,3146],{"class":86},[35,3436,3149],{"class":93},[35,3438,59],{"class":86},[35,3440,3441],{"class":45}," 打包 & 上传至仓库\n",[35,3443,3444,3446],{"class":37,"line":174},[35,3445,3159],{"class":93},[35,3447,3105],{"class":86},[35,3449,3450,3452,3455],{"class":37,"line":178},[35,3451,3176],{"class":86},[35,3453,3454],{"class":45}," export TWINE_USERNAME=\"cnb\"",[35,3456,2912],{"class":82},[35,3458,3459,3461],{"class":37,"line":181},[35,3460,3176],{"class":86},[35,3462,3463],{"class":45}," export TWINE_PASSWORD=${CNB_TOKEN}\n",[35,3465,3466],{"class":37,"line":185},[35,3467,3166],{"class":2694},[35,3469,3470],{"class":37,"line":1000},[35,3471,3472],{"class":2694},"            # 示例: export TWINE_REPOSITORY_URL=https:\u002F\u002Fpypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple \n",[35,3474,3475,3477],{"class":37,"line":1025},[35,3476,3176],{"class":86},[35,3478,3479],{"class":45}," export TWINE_REPOSITORY_URL=\u003CREPO_URL>\n",[35,3481,3482,3484],{"class":37,"line":1256},[35,3483,3176],{"class":86},[35,3485,3486],{"class":45}," python -m build\n",[35,3488,3489,3491],{"class":37,"line":164},[35,3490,3176],{"class":86},[35,3492,3493],{"class":45}," twine upload dist\u002F*\n",[123,3495,3496],{},[126,3497,3498],{},"方案2: 使用密钥仓库文件",[25,3500,3502],{"className":3094,"code":3501,"language":3096,"meta":30,"style":30},"main:\n  push:\n    - docker:\n        image: docker.cnb.cool\u002Fexamples\u002Flanguage\u002Fpython-3:latest\n      imports:\n        # 密钥仓库文件地址\n        # 示例: https:\u002F\u002Fcnb.cool\u002Fcnb-demo\u002Fenv-demo\u002F-\u002Fblob\u002Fmain\u002Fenvs\u002Fenv.yml\n        - \u003CSECRET_REPO_URL> \n      stages:\n        - name: 打包 & 上传至仓库\n          script:\n            # 密钥仓库文件 USER_NAME 配置\n            - export TWINE_USERNAME=${USER_NAME}\n            # 密钥仓库文件 PASS_WORD 配置\n            - export TWINE_PASSWORD=${PASS_WORD}\n            # 制品库地址\n            # 示例: export TWINE_REPOSITORY_URL=https:\u002F\u002Fpypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\n            - export TWINE_REPOSITORY_URL=\u003CREPO_URL>\n            - python -m build\n            - twine upload dist\u002F*\n",[32,3503,3504,3510,3516,3524,3532,3538,3543,3548,3556,3562,3572,3578,3583,3590,3595,3603,3607,3613,3619,3625],{"__ignoreMap":30},[35,3505,3506,3508],{"class":37,"line":38},[35,3507,210],{"class":93},[35,3509,3105],{"class":86},[35,3511,3512,3514],{"class":37,"line":90},[35,3513,3110],{"class":93},[35,3515,3105],{"class":86},[35,3517,3518,3520,3522],{"class":37,"line":112},[35,3519,3117],{"class":86},[35,3521,3120],{"class":93},[35,3523,3105],{"class":86},[35,3525,3526,3528,3530],{"class":37,"line":162},[35,3527,3127],{"class":93},[35,3529,59],{"class":86},[35,3531,3230],{"class":45},[35,3533,3534,3536],{"class":37,"line":166},[35,3535,3235],{"class":93},[35,3537,3105],{"class":86},[35,3539,3540],{"class":37,"line":170},[35,3541,3542],{"class":2694},"        # 密钥仓库文件地址\n",[35,3544,3545],{"class":37,"line":174},[35,3546,3547],{"class":2694},"        # 示例: https:\u002F\u002Fcnb.cool\u002Fcnb-demo\u002Fenv-demo\u002F-\u002Fblob\u002Fmain\u002Fenvs\u002Fenv.yml\n",[35,3549,3550,3552,3554],{"class":37,"line":178},[35,3551,3146],{"class":86},[35,3553,3249],{"class":45},[35,3555,2912],{"class":82},[35,3557,3558,3560],{"class":37,"line":181},[35,3559,3139],{"class":93},[35,3561,3105],{"class":86},[35,3563,3564,3566,3568,3570],{"class":37,"line":185},[35,3565,3146],{"class":86},[35,3567,3149],{"class":93},[35,3569,59],{"class":86},[35,3571,3441],{"class":45},[35,3573,3574,3576],{"class":37,"line":1000},[35,3575,3159],{"class":93},[35,3577,3105],{"class":86},[35,3579,3580],{"class":37,"line":1025},[35,3581,3582],{"class":2694},"            # 密钥仓库文件 USER_NAME 配置\n",[35,3584,3585,3587],{"class":37,"line":1256},[35,3586,3176],{"class":86},[35,3588,3589],{"class":45}," export TWINE_USERNAME=${USER_NAME}\n",[35,3591,3592],{"class":37,"line":164},[35,3593,3594],{"class":2694},"            # 密钥仓库文件 PASS_WORD 配置\n",[35,3596,3598,3600],{"class":37,"line":3597},15,[35,3599,3176],{"class":86},[35,3601,3602],{"class":45}," export TWINE_PASSWORD=${PASS_WORD}\n",[35,3604,3605],{"class":37,"line":157},[35,3606,3166],{"class":2694},[35,3608,3610],{"class":37,"line":3609},17,[35,3611,3612],{"class":2694},"            # 示例: export TWINE_REPOSITORY_URL=https:\u002F\u002Fpypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\n",[35,3614,3615,3617],{"class":37,"line":864},[35,3616,3176],{"class":86},[35,3618,3479],{"class":45},[35,3620,3621,3623],{"class":37,"line":881},[35,3622,3176],{"class":86},[35,3624,3486],{"class":45},[35,3626,3627,3629],{"class":37,"line":1009},[35,3628,3176],{"class":86},[35,3630,3493],{"class":45},[17,3632,3633],{},"@tab poetry 配置",[123,3635,3636],{},[126,3637,3091],{},[25,3639,3641],{"className":3094,"code":3640,"language":3096,"meta":30,"style":30},"main:\n  push:\n    - docker:\n        image: docker.cnb.cool\u002Fexamples\u002Flanguage\u002Fpython-3:latest \n      stages:\n        - name: 打包 & 上传至仓库\n          script:\n            - export POETRY_HTTP_BASIC_CNB_PYPI_USERNAME=\"cnb\"\n            - export POETRY_HTTP_BASIC_CNB_PYPI_PASSWORD=${CNB_TOKEN}\n            # 制品库地址\n            # 示例: poetry config repositories.cnb-pypi https:\u002F\u002Fpypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\n            - poetry config repositories.cnb-pypi \u003CREPO_URL>\n            - poetry build\n            - poetry publish -r cnb-pypi\n",[32,3642,3643,3649,3655,3663,3673,3679,3689,3695,3702,3709,3713,3718,3725,3732],{"__ignoreMap":30},[35,3644,3645,3647],{"class":37,"line":38},[35,3646,210],{"class":93},[35,3648,3105],{"class":86},[35,3650,3651,3653],{"class":37,"line":90},[35,3652,3110],{"class":93},[35,3654,3105],{"class":86},[35,3656,3657,3659,3661],{"class":37,"line":112},[35,3658,3117],{"class":86},[35,3660,3120],{"class":93},[35,3662,3105],{"class":86},[35,3664,3665,3667,3669,3671],{"class":37,"line":162},[35,3666,3127],{"class":93},[35,3668,59],{"class":86},[35,3670,3132],{"class":45},[35,3672,2912],{"class":82},[35,3674,3675,3677],{"class":37,"line":166},[35,3676,3139],{"class":93},[35,3678,3105],{"class":86},[35,3680,3681,3683,3685,3687],{"class":37,"line":170},[35,3682,3146],{"class":86},[35,3684,3149],{"class":93},[35,3686,59],{"class":86},[35,3688,3441],{"class":45},[35,3690,3691,3693],{"class":37,"line":174},[35,3692,3159],{"class":93},[35,3694,3105],{"class":86},[35,3696,3697,3699],{"class":37,"line":178},[35,3698,3176],{"class":86},[35,3700,3701],{"class":45}," export POETRY_HTTP_BASIC_CNB_PYPI_USERNAME=\"cnb\"\n",[35,3703,3704,3706],{"class":37,"line":181},[35,3705,3176],{"class":86},[35,3707,3708],{"class":45}," export POETRY_HTTP_BASIC_CNB_PYPI_PASSWORD=${CNB_TOKEN}\n",[35,3710,3711],{"class":37,"line":185},[35,3712,3166],{"class":2694},[35,3714,3715],{"class":37,"line":1000},[35,3716,3717],{"class":2694},"            # 示例: poetry config repositories.cnb-pypi https:\u002F\u002Fpypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\n",[35,3719,3720,3722],{"class":37,"line":1025},[35,3721,3176],{"class":86},[35,3723,3724],{"class":45}," poetry config repositories.cnb-pypi \u003CREPO_URL>\n",[35,3726,3727,3729],{"class":37,"line":1256},[35,3728,3176],{"class":86},[35,3730,3731],{"class":45}," poetry build\n",[35,3733,3734,3736],{"class":37,"line":164},[35,3735,3176],{"class":86},[35,3737,3738],{"class":45}," poetry publish -r cnb-pypi\n",[123,3740,3741],{},[126,3742,3196],{},[25,3744,3746],{"className":3094,"code":3745,"language":3096,"meta":30,"style":30},"main:\n  push:\n    - docker:\n        image: docker.cnb.cool\u002Fexamples\u002Flanguage\u002Fpython-3:latest\n      imports:\n        # 密钥仓库文件地址, 示例 https:\u002F\u002Fcnb.cool\u002Fcnb-demo\u002Fenv-demo\u002F-\u002Fblob\u002Fmain\u002Fenvs\u002Fenv.yml \n        - \u003CSECRET_REPO_URL>\n      stages:\n        - name: 打包 & 上传至仓库\n          script:\n            # 密钥仓库文件 USER_NAME 配置\n            - export POETRY_HTTP_BASIC_CNB_PYPI_USERNAME=${USER_NAME}\n            # 密钥仓库文件 PASS_WORD 配置\n            - export POETRY_HTTP_BASIC_CNB_PYPI_PASSWORD=${PASS_WORD}\n            # 制品库地址\n            # 示例: poetry config repositories.cnb-pypi https:\u002F\u002Fpypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\n            - poetry config repositories.cnb-pypi \u003CREPO_URL>\n            - poetry build\n            - poetry publish -r cnb-pypi\n",[32,3747,3748,3754,3760,3768,3776,3782,3787,3794,3800,3810,3816,3820,3827,3831,3838,3842,3846,3852,3858],{"__ignoreMap":30},[35,3749,3750,3752],{"class":37,"line":38},[35,3751,210],{"class":93},[35,3753,3105],{"class":86},[35,3755,3756,3758],{"class":37,"line":90},[35,3757,3110],{"class":93},[35,3759,3105],{"class":86},[35,3761,3762,3764,3766],{"class":37,"line":112},[35,3763,3117],{"class":86},[35,3765,3120],{"class":93},[35,3767,3105],{"class":86},[35,3769,3770,3772,3774],{"class":37,"line":162},[35,3771,3127],{"class":93},[35,3773,59],{"class":86},[35,3775,3230],{"class":45},[35,3777,3778,3780],{"class":37,"line":166},[35,3779,3235],{"class":93},[35,3781,3105],{"class":86},[35,3783,3784],{"class":37,"line":170},[35,3785,3786],{"class":2694},"        # 密钥仓库文件地址, 示例 https:\u002F\u002Fcnb.cool\u002Fcnb-demo\u002Fenv-demo\u002F-\u002Fblob\u002Fmain\u002Fenvs\u002Fenv.yml \n",[35,3788,3789,3791],{"class":37,"line":174},[35,3790,3146],{"class":86},[35,3792,3793],{"class":45}," \u003CSECRET_REPO_URL>\n",[35,3795,3796,3798],{"class":37,"line":178},[35,3797,3139],{"class":93},[35,3799,3105],{"class":86},[35,3801,3802,3804,3806,3808],{"class":37,"line":181},[35,3803,3146],{"class":86},[35,3805,3149],{"class":93},[35,3807,59],{"class":86},[35,3809,3441],{"class":45},[35,3811,3812,3814],{"class":37,"line":185},[35,3813,3159],{"class":93},[35,3815,3105],{"class":86},[35,3817,3818],{"class":37,"line":1000},[35,3819,3582],{"class":2694},[35,3821,3822,3824],{"class":37,"line":1025},[35,3823,3176],{"class":86},[35,3825,3826],{"class":45}," export POETRY_HTTP_BASIC_CNB_PYPI_USERNAME=${USER_NAME}\n",[35,3828,3829],{"class":37,"line":1256},[35,3830,3594],{"class":2694},[35,3832,3833,3835],{"class":37,"line":164},[35,3834,3176],{"class":86},[35,3836,3837],{"class":45}," export POETRY_HTTP_BASIC_CNB_PYPI_PASSWORD=${PASS_WORD}\n",[35,3839,3840],{"class":37,"line":3597},[35,3841,3166],{"class":2694},[35,3843,3844],{"class":37,"line":157},[35,3845,3717],{"class":2694},[35,3847,3848,3850],{"class":37,"line":3609},[35,3849,3176],{"class":86},[35,3851,3724],{"class":45},[35,3853,3854,3856],{"class":37,"line":864},[35,3855,3176],{"class":86},[35,3857,3731],{"class":45},[35,3859,3860,3862],{"class":37,"line":881},[35,3861,3176],{"class":86},[35,3863,3738],{"class":45},[17,3865,2926],{},[21,3867,2160],{"id":2160},[2622,3869,3870],{"id":3870},"前置准备工作",[17,3872,3873],{},"请在 .cnb.yml 文件中添加以下配置",[25,3875,3877],{"className":3094,"code":3876,"language":3096,"meta":30,"style":30},"  $:\n    vscode:\n      - docker:\n          image: docker.cnb.cool\u002Fexamples\u002Flanguage\u002Fpython-3:latest\n        services:\n          - vscode\n          - docker\n        # 使用密钥仓库文件则需要填入以下配置  \n        imports:\n          # 示例: https:\u002F\u002Fcnb.cool\u002Fcnb-demo\u002Fenv-demo\u002F-\u002Fblob\u002Fmain\u002Fenvs\u002Fenv.yml\n          - \u003CSECRET_REPO_URL>\n",[32,3878,3879,3886,3893,3902,3911,3918,3926,3933,3938,3945,3950],{"__ignoreMap":30},[35,3880,3881,3884],{"class":37,"line":38},[35,3882,3883],{"class":93},"  $",[35,3885,3105],{"class":86},[35,3887,3888,3891],{"class":37,"line":90},[35,3889,3890],{"class":93},"    vscode",[35,3892,3105],{"class":86},[35,3894,3895,3898,3900],{"class":37,"line":112},[35,3896,3897],{"class":86},"      -",[35,3899,3120],{"class":93},[35,3901,3105],{"class":86},[35,3903,3904,3907,3909],{"class":37,"line":162},[35,3905,3906],{"class":93},"          image",[35,3908,59],{"class":86},[35,3910,3230],{"class":45},[35,3912,3913,3916],{"class":37,"line":166},[35,3914,3915],{"class":93},"        services",[35,3917,3105],{"class":86},[35,3919,3920,3923],{"class":37,"line":170},[35,3921,3922],{"class":86},"          -",[35,3924,3925],{"class":45}," vscode\n",[35,3927,3928,3930],{"class":37,"line":174},[35,3929,3922],{"class":86},[35,3931,3932],{"class":45}," docker\n",[35,3934,3935],{"class":37,"line":178},[35,3936,3937],{"class":2694},"        # 使用密钥仓库文件则需要填入以下配置  \n",[35,3939,3940,3943],{"class":37,"line":181},[35,3941,3942],{"class":93},"        imports",[35,3944,3105],{"class":86},[35,3946,3947],{"class":37,"line":185},[35,3948,3949],{"class":2694},"          # 示例: https:\u002F\u002Fcnb.cool\u002Fcnb-demo\u002Fenv-demo\u002F-\u002Fblob\u002Fmain\u002Fenvs\u002Fenv.yml\n",[35,3951,3952,3954],{"class":37,"line":1000},[35,3953,3922],{"class":86},[35,3955,3793],{"class":45},[2622,3957,2645],{"id":3958},"配置拉取凭据-1",[123,3960,3961],{},[126,3962,3091],{},[25,3964,3966],{"className":2685,"code":3965,"language":2687,"meta":30,"style":30},"# 示例: pip config set global.index-url https:\u002F\u002Fcnb:${CNB_TOKEN}@pypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\npip config set global.index-url https:\u002F\u002Fcnb:${CNB_TOKEN}@\u003CREPO_URL>\n",[32,3967,3968,3973],{"__ignoreMap":30},[35,3969,3970],{"class":37,"line":38},[35,3971,3972],{"class":2694},"# 示例: pip config set global.index-url https:\u002F\u002Fcnb:${CNB_TOKEN}@pypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\n",[35,3974,3975,3977,3979,3981,3983,3985,3988,3991,3993,3995,3997,3999,4001],{"class":37,"line":90},[35,3976,2704],{"class":41},[35,3978,2707],{"class":45},[35,3980,2710],{"class":45},[35,3982,2713],{"class":45},[35,3984,2716],{"class":45},[35,3986,3987],{"class":86},"${",[35,3989,3990],{"class":82},"CNB_TOKEN",[35,3992,115],{"class":86},[35,3994,2731],{"class":45},[35,3996,2719],{"class":86},[35,3998,2736],{"class":45},[35,4000,2739],{"class":82},[35,4002,2742],{"class":86},[123,4004,4005],{},[126,4006,3196],{},[25,4008,4010],{"className":2685,"code":4009,"language":2687,"meta":30,"style":30},"# 示例: pip config set global.index-url https:\u002F\u002F${USER_NAME}:${PASS_WORD}@pypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\npip config set global.index-url https:\u002F\u002F${USER_NAME}:${PASS_WORD}@\u003CREPO_URL>\n",[32,4011,4012,4017],{"__ignoreMap":30},[35,4013,4014],{"class":37,"line":38},[35,4015,4016],{"class":2694},"# 示例: pip config set global.index-url https:\u002F\u002F${USER_NAME}:${PASS_WORD}@pypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\n",[35,4018,4019,4021,4023,4025,4027,4030,4032,4035,4037,4039,4041,4044,4046,4048,4050,4052,4054],{"class":37,"line":90},[35,4020,2704],{"class":41},[35,4022,2707],{"class":45},[35,4024,2710],{"class":45},[35,4026,2713],{"class":45},[35,4028,4029],{"class":45}," https:\u002F\u002F",[35,4031,3987],{"class":86},[35,4033,4034],{"class":82},"USER_NAME",[35,4036,115],{"class":86},[35,4038,59],{"class":45},[35,4040,3987],{"class":86},[35,4042,4043],{"class":82},"PASS_WORD",[35,4045,115],{"class":86},[35,4047,2731],{"class":45},[35,4049,2719],{"class":86},[35,4051,2736],{"class":45},[35,4053,2739],{"class":82},[35,4055,2742],{"class":86},[2622,4057,2745],{"id":4058},"配置推送凭据-1",[17,4060,4061],{},"云原生开发 TERMINAL 中输入以下命令\n::: tabs\n@tab twine",[123,4063,4064],{},[126,4065,3091],{},[25,4067,4069],{"className":2685,"code":4068,"language":2687,"meta":30,"style":30},"export TWINE_USERNAME=\"cnb\" \nexport TWINE_PASSWORD=\"${CNB_TOKEN}\"\n# 制品库地址\n# 示例: export TWINE_REPOSITORY_URL=https:\u002F\u002Fpypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple \nexport TWINE_REPOSITORY_URL=\u003CREPO_URL>\n",[32,4070,4071,4092,4109,4113,4118],{"__ignoreMap":30},[35,4072,4073,4076,4079,4082,4085,4088,4090],{"class":37,"line":38},[35,4074,72],{"class":4075},"smZ93",[35,4077,4078],{"class":82}," TWINE_USERNAME",[35,4080,4081],{"class":86},"=",[35,4083,4084],{"class":86},"\"",[35,4086,4087],{"class":45},"cnb",[35,4089,4084],{"class":86},[35,4091,2912],{"class":82},[35,4093,4094,4096,4099,4101,4104,4106],{"class":37,"line":90},[35,4095,72],{"class":4075},[35,4097,4098],{"class":82}," TWINE_PASSWORD",[35,4100,4081],{"class":86},[35,4102,4103],{"class":86},"\"${",[35,4105,3990],{"class":82},[35,4107,4108],{"class":86},"}\"\n",[35,4110,4111],{"class":37,"line":112},[35,4112,2778],{"class":2694},[35,4114,4115],{"class":37,"line":162},[35,4116,4117],{"class":2694},"# 示例: export TWINE_REPOSITORY_URL=https:\u002F\u002Fpypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple \n",[35,4119,4120,4122,4125,4128,4131],{"class":37,"line":166},[35,4121,72],{"class":4075},[35,4123,4124],{"class":82}," TWINE_REPOSITORY_URL",[35,4126,4127],{"class":86},"=\u003C",[35,4129,4130],{"class":82},"REPO_URL",[35,4132,2742],{"class":86},[123,4134,4135],{},[126,4136,3196],{},[25,4138,4140],{"className":2685,"code":4139,"language":2687,"meta":30,"style":30},"# 密钥仓库文件 USER_NAME 配置\nexport TWINE_USERNAME=\"${USER_NAME}\" \n# 密钥仓库文件 PASS_WORD 配置\nexport TWINE_PASSWORD=\"${PASS_WORD}\"\n# 制品库地址\n# 示例: export TWINE_REPOSITORY_URL=https:\u002F\u002Fpypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple   \nexport TWINE_REPOSITORY_URL=\u003CREPO_URL>\n",[32,4141,4142,4147,4164,4169,4183,4187,4192],{"__ignoreMap":30},[35,4143,4144],{"class":37,"line":38},[35,4145,4146],{"class":2694},"# 密钥仓库文件 USER_NAME 配置\n",[35,4148,4149,4151,4153,4155,4157,4159,4162],{"class":37,"line":90},[35,4150,72],{"class":4075},[35,4152,4078],{"class":82},[35,4154,4081],{"class":86},[35,4156,4103],{"class":86},[35,4158,4034],{"class":82},[35,4160,4161],{"class":86},"}\"",[35,4163,2912],{"class":82},[35,4165,4166],{"class":37,"line":112},[35,4167,4168],{"class":2694},"# 密钥仓库文件 PASS_WORD 配置\n",[35,4170,4171,4173,4175,4177,4179,4181],{"class":37,"line":162},[35,4172,72],{"class":4075},[35,4174,4098],{"class":82},[35,4176,4081],{"class":86},[35,4178,4103],{"class":86},[35,4180,4043],{"class":82},[35,4182,4108],{"class":86},[35,4184,4185],{"class":37,"line":166},[35,4186,2778],{"class":2694},[35,4188,4189],{"class":37,"line":170},[35,4190,4191],{"class":2694},"# 示例: export TWINE_REPOSITORY_URL=https:\u002F\u002Fpypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple   \n",[35,4193,4194,4196,4198,4200,4202],{"class":37,"line":174},[35,4195,72],{"class":4075},[35,4197,4124],{"class":82},[35,4199,4127],{"class":86},[35,4201,4130],{"class":82},[35,4203,2742],{"class":86},[17,4205,3055],{},[123,4207,4208],{},[126,4209,3091],{},[25,4211,4213],{"className":2685,"code":4212,"language":2687,"meta":30,"style":30},"export POETRY_HTTP_BASIC_CNB_PYPI_USERNAME=\"cnb\" \nexport POETRY_HTTP_BASIC_CNB_PYPI_PASSWORD=\"${CNB_TOKEN}\"\n# 制品库地址\n# 示例: poetry config repositories.cnb-pypi https:\u002F\u002Fpypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple \npoetry config repositories.cnb-pypi \u003CREPO_URL>\n",[32,4214,4215,4232,4247,4251,4256],{"__ignoreMap":30},[35,4216,4217,4219,4222,4224,4226,4228,4230],{"class":37,"line":38},[35,4218,72],{"class":4075},[35,4220,4221],{"class":82}," POETRY_HTTP_BASIC_CNB_PYPI_USERNAME",[35,4223,4081],{"class":86},[35,4225,4084],{"class":86},[35,4227,4087],{"class":45},[35,4229,4084],{"class":86},[35,4231,2912],{"class":82},[35,4233,4234,4236,4239,4241,4243,4245],{"class":37,"line":90},[35,4235,72],{"class":4075},[35,4237,4238],{"class":82}," POETRY_HTTP_BASIC_CNB_PYPI_PASSWORD",[35,4240,4081],{"class":86},[35,4242,4103],{"class":86},[35,4244,3990],{"class":82},[35,4246,4108],{"class":86},[35,4248,4249],{"class":37,"line":112},[35,4250,2778],{"class":2694},[35,4252,4253],{"class":37,"line":162},[35,4254,4255],{"class":2694},"# 示例: poetry config repositories.cnb-pypi https:\u002F\u002Fpypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple \n",[35,4257,4258,4260,4262,4264,4266,4268,4270],{"class":37,"line":166},[35,4259,2849],{"class":41},[35,4261,2707],{"class":45},[35,4263,2878],{"class":45},[35,4265,2860],{"class":86},[35,4267,2736],{"class":45},[35,4269,2739],{"class":82},[35,4271,2742],{"class":86},[123,4273,4274],{},[126,4275,3196],{},[25,4277,4279],{"className":2685,"code":4278,"language":2687,"meta":30,"style":30},"# 密钥仓库文件 USER_NAME 配置\nexport POETRY_HTTP_BASIC_CNB_PYPI_USERNAME=\"${USER_NAME}\"\n# 密钥仓库文件 PASS_WORD 配置\nexport POETRY_HTTP_BASIC_CNB_PYPI_PASSWORD=\"${PASS_WORD}\"\n# 制品库地址 \n# 示例 poetry config repositories.cnb-pypi https:\u002F\u002Fpypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\npoetry config repositories.cnb-pypi \u003CREPO_URL>\n",[32,4280,4281,4285,4299,4303,4317,4322,4327],{"__ignoreMap":30},[35,4282,4283],{"class":37,"line":38},[35,4284,4146],{"class":2694},[35,4286,4287,4289,4291,4293,4295,4297],{"class":37,"line":90},[35,4288,72],{"class":4075},[35,4290,4221],{"class":82},[35,4292,4081],{"class":86},[35,4294,4103],{"class":86},[35,4296,4034],{"class":82},[35,4298,4108],{"class":86},[35,4300,4301],{"class":37,"line":112},[35,4302,4168],{"class":2694},[35,4304,4305,4307,4309,4311,4313,4315],{"class":37,"line":162},[35,4306,72],{"class":4075},[35,4308,4238],{"class":82},[35,4310,4081],{"class":86},[35,4312,4103],{"class":86},[35,4314,4043],{"class":82},[35,4316,4108],{"class":86},[35,4318,4319],{"class":37,"line":166},[35,4320,4321],{"class":2694},"# 制品库地址 \n",[35,4323,4324],{"class":37,"line":170},[35,4325,4326],{"class":2694},"# 示例 poetry config repositories.cnb-pypi https:\u002F\u002Fpypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple\n",[35,4328,4329,4331,4333,4335,4337,4339,4341],{"class":37,"line":174},[35,4330,2849],{"class":41},[35,4332,2707],{"class":45},[35,4334,2878],{"class":45},[35,4336,2860],{"class":86},[35,4338,2736],{"class":45},[35,4340,2739],{"class":82},[35,4342,2742],{"class":86},[17,4344,2926],{},[2622,4346,2929],{"id":4347},"拉取制品-2",[25,4349,4351],{"className":2685,"code":4350,"language":2687,"meta":30,"style":30},"#示例1: pip install requests\n#示例2: 拉取指定版本 pip install requests==2.30.1\npip install \u003CPACKAGE_NAME>\n\n# 示例: 临时源拉取 pip install -i https:\u002F\u002Fcnb:${CNB_TOKEN}@pypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple requests\npip install -i https:\u002F\u002Fcnb:${CNB_TOKEN}@\u003CREPO_URL> \u003CPACKAGE_NAME>\n",[32,4352,4353,4357,4361,4375,4379,4384],{"__ignoreMap":30},[35,4354,4355],{"class":37,"line":38},[35,4356,2939],{"class":2694},[35,4358,4359],{"class":37,"line":90},[35,4360,2944],{"class":2694},[35,4362,4363,4365,4367,4369,4371,4373],{"class":37,"line":112},[35,4364,2704],{"class":41},[35,4366,46],{"class":45},[35,4368,2860],{"class":86},[35,4370,2955],{"class":45},[35,4372,2958],{"class":82},[35,4374,2742],{"class":86},[35,4376,4377],{"class":37,"line":162},[35,4378,2965],{"emptyLinePlaceholder":201},[35,4380,4381],{"class":37,"line":166},[35,4382,4383],{"class":2694},"# 示例: 临时源拉取 pip install -i https:\u002F\u002Fcnb:${CNB_TOKEN}@pypi.cnb.cool\u002Fcnb-demo\u002Fpypi-demo\u002F-\u002Fpackages\u002Fsimple requests\n",[35,4385,4386,4388,4390,4392,4394,4396,4398,4400,4402,4404,4406,4408,4410,4412,4414,4416],{"class":37,"line":170},[35,4387,2704],{"class":41},[35,4389,46],{"class":45},[35,4391,2979],{"class":45},[35,4393,2716],{"class":45},[35,4395,3987],{"class":86},[35,4397,3990],{"class":82},[35,4399,115],{"class":86},[35,4401,2731],{"class":45},[35,4403,2719],{"class":86},[35,4405,2736],{"class":45},[35,4407,2739],{"class":82},[35,4409,2728],{"class":86},[35,4411,2860],{"class":86},[35,4413,2955],{"class":45},[35,4415,2958],{"class":82},[35,4417,2742],{"class":86},[2622,4419,3010],{"id":4420},"编译及推送制品-1",[17,4422,3013],{},[25,4424,4425],{"className":2685,"code":3016,"language":2687,"meta":30,"style":30},[32,4426,4427,4437],{"__ignoreMap":30},[35,4428,4429,4431,4433,4435],{"class":37,"line":38},[35,4430,3023],{"class":41},[35,4432,3026],{"class":45},[35,4434,3029],{"class":45},[35,4436,3032],{"class":82},[35,4438,4439,4441,4443,4445,4447,4449],{"class":37,"line":90},[35,4440,3037],{"class":41},[35,4442,3040],{"class":45},[35,4444,3043],{"class":45},[35,4446,3046],{"class":45},[35,4448,3049],{"class":45},[35,4450,3052],{"class":82},[17,4452,3055],{},[25,4454,4455],{"className":2685,"code":3058,"language":2687,"meta":30,"style":30},[32,4456,4457,4463],{"__ignoreMap":30},[35,4458,4459,4461],{"class":37,"line":38},[35,4460,2849],{"class":41},[35,4462,3067],{"class":45},[35,4464,4465,4467,4469,4471],{"class":37,"line":90},[35,4466,2849],{"class":41},[35,4468,3074],{"class":45},[35,4470,3043],{"class":45},[35,4472,3079],{"class":45},[17,4474,2926],{},[21,4476,4478],{"id":4477},"faq","FAQ",[2622,4480,4482],{"id":4481},"q为什么我上传时会报-409-的错误","Q:为什么我上传时会报 409 的错误",[17,4484,4485,4486,4489,4490,4493],{},"A: 您上传的制品包名称和版本已经存在，请将您制品仓库的",[32,4487,4488],{},"版本覆盖策略","设置为",[32,4491,4492],{},"允许覆盖已有版本","，或者更改当前包的版本，再上传即可",[2622,4495,4497],{"id":4496},"q为什么我上传时会报-400-的错误","Q:为什么我上传时会报 400 的错误",[17,4499,4500],{},"A: 这种情况一般是您的制品文件名不符合 PyPI 制品的规范，请您检查并处理后再进行上传操作",[2622,4502,4504],{"id":4503},"qcnb-pypi-制品仓库目前支持哪些-pypi-制品格式","Q:CNB PyPI 制品仓库目前支持哪些 PyPI 制品格式",[17,4506,4507],{},"A: 我们目前仅支持 wheel 和 sdist 两种类型的制品包，对于诸如 egg 或者 exe 等比较旧的制品格式，我们会拒绝上传",[21,4509,4510],{"id":4510},"更多用法",[17,4512,4513],{},"更多 PyPI 用法，请查阅官方文档",[142,4515,4516],{},"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 .sWuyu, html code.shiki .sWuyu{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s52Pk, html code.shiki .s52Pk{--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B}html pre.shiki code .sGFVr, html code.shiki .sGFVr{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}html pre.shiki code .sDfIl, html code.shiki .sDfIl{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}html pre.shiki code .sZSNi, html code.shiki .sZSNi{--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8}html pre.shiki code .sRlkE, html code.shiki .sRlkE{--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178}html pre.shiki code .smZ93, html code.shiki .smZ93{--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA}",{"title":30,"searchDepth":90,"depth":90,"links":4518},[4519,4522,4523,4529,4533,4540,4545],{"id":2614,"depth":90,"text":2614,"children":4520},[4521],{"id":2624,"depth":112,"text":2624},{"id":2633,"depth":90,"text":2633},{"id":2642,"depth":90,"text":2642,"children":4524},[4525,4526,4527,4528],{"id":2645,"depth":112,"text":2645},{"id":2745,"depth":112,"text":2745},{"id":2929,"depth":112,"text":2929},{"id":3010,"depth":112,"text":3010},{"id":2026,"depth":90,"text":2026,"children":4530},[4531,4532],{"id":3086,"depth":112,"text":2929},{"id":3380,"depth":112,"text":3380},{"id":2160,"depth":90,"text":2160,"children":4534},[4535,4536,4537,4538,4539],{"id":3870,"depth":112,"text":3870},{"id":3958,"depth":112,"text":2645},{"id":4058,"depth":112,"text":2745},{"id":4347,"depth":112,"text":2929},{"id":4420,"depth":112,"text":3010},{"id":4477,"depth":90,"text":4478,"children":4541},[4542,4543,4544],{"id":4481,"depth":112,"text":4482},{"id":4496,"depth":112,"text":4497},{"id":4503,"depth":112,"text":4504},{"id":4510,"depth":90,"text":4510},"PyPI制品库用于存储和分发Python软件包，开发者可通过它上传、管理和安装第三方库和工具。配置和使用涉及创建访问令牌、本地与云原生环境下的拉取与推送凭据设置，以及常见问题解答（如上传错误原因等）。",{},{"title":2270,"description":4546},"pdw24uneu3qcFDGvIYWr5jpnrqsd3G7zpJYI2YgqQ-Q",[4551,4553],{"title":2266,"path":2267,"stem":2268,"description":4552,"children":-1},"该文档围绕 ohpm 制品库展开，涵盖创建制品库、获取地址、创建令牌等内容。详细说明了本地、云原生构建、云原生开发场景下的凭证配置、拉取和推送制品的方法，还提及了配置开发镜像，并推荐查阅官方文档了解更 多用法 。",{"title":2279,"path":2275,"stem":2276,"description":4554,"icon":2280,"children":-1},"AI助手具有多种功能，包括云原生开发WebIDE内置的腾讯云代码助手可免安装使用，云原生构建平台内置AI问答可助力获取文档等，还能通过代码仓库构建知识库，且对云原生构建报错和开发者提交的变更可进行一键分析辅助。",1775504723894]