前言
在这篇文章中,我们将学习谷歌的 zx 库提供了什么,以及我们如何使用它来用 Node.js 编写 shell 脚本。然后,我们将学习如何通过构建一个命令行工具来使用 zx 的功能,帮助我们为新的 Node.js 项目引导配置。
编写 Shell 脚本的问题
创建一个由 Bash 或者 zsh 执行的 shell 脚本,是自动化重复任务的好方法。Node.js 似乎是编写 shell 脚本的理想选择,因为它为我们提供了许多核心模块,并允许我们导入任何我们选择的库。它还允许我们访问 JavaScript 提供的语言特性和内置函数。
如果你尝试编写运行在 Node.js 中的 shell 脚本,你会发现这没有你想象中的那么顺利。你需要为子进程编写特殊的处理程序,注意转义命令行参数,然后最终与 stdout(标准输出)和 stderr(标准错误)打交道。这不是特别直观,而且会使 shell 脚本变得相当笨拙。
Bash shell 脚本语言是编写 shell 脚本的普遍选择。不需要编写代码来处理子进程,而且它有内置的语言特性来处理 stdout 和 stderr。但是用 Bash 编写 shell 脚本也不是那么容易。语法可能相当混乱,使得它实现逻辑,或者处理诸如提示用户输入的事情非常困难。
谷歌的 zx 库有助于让使用 Node.js 编写的 shell 脚本变得高效和舒适。
前置条件
往下阅读之前,有几个前置条件需要遵循:
- 理想情况下,你应该熟悉 JavaScript 和 Node.js 的基础知识。
- 你需要适应在终端中运行命令。
- 你需要安装 Node.js >= v14.13.1。
本文中的所有代码都可以从 GitHub https://link.segmentfault.com/?enc=ysCUhsc%2BhqUmtqCo55t8jw%3D%3D.aWhjUaPje6eTlkcFFdhW%2FeIVYyAz5G%2FoPbGuXjsxlpcJphMKguwz3NoHWQ9o2vDb47Nfnm9kpIP6Ol5r6Euc8A%3D%3D 上获得。
zx 如何运作
Google 的 zx 提供了创建子进程的函数,以及处理这些进程的 stdout 和 stderr 的函数。我们将使用的主要函数是$函数。下面是它的一个实际例子:
import{nbsp;}from"zx";
await
社区精选|如何使用 zx 编写 shell 脚本-*今条头日**
{"@context":"https://schema.org","@type":"NewsArticle","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.toutiao.com/article/7207743318715793920/"},"headline":"社区精选|如何使用 zx 编写 shell 脚本","description":"在这篇文章中,我们将学习谷歌的 zx 库提供了什么,以及我们如何使用它来用 Node.js 编写 shell 脚本。","image":[],"datePublished":"2023-03-08T01:00:05.000Z","dateModified":"2023-05-31T15:51:46.000Z","author":{"@type":"Person","name":"计算科学与信息化","url":"https://www.toutiao.com/c/user/token/MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH/"},"publisher":{"@type":"Organization","name":"*今条头日**","logo":{"@type":"ImageObject","url":"https://lf3-static.bytednsdoc.com/obj/eden-cn/uhbfnupkbps/216.png"}}}
!function(r,e,t,n,s,a,o,i,c,l,d,p,m,f){a="precollect",o="getAttribute",i="addEventListener",(l=function(e){(d=[].slice.call(arguments)).push(Date.now(),location.href),(e==a?l.p.a:l.q).push(d)}).q=[],l.p={a:[]},r[s]=l,(p=document.createElement("script")).src=t+"?bid=toutiao_web_pc&globalName="+s,p.crossOrigin=0
window.Slardar&&window.Slardar("init",{bid:"toutiao_web_pc",pid:"news_article_detail",release:"1.0.0.1822",env:"online",sample:{sample_rate:1},plugins:{ajax:{ignoreUrls:["mcs.snssdk.com","mcs.zijieapi.com","i.snssdk.com","verify.snssdk.com","vcs.snssdk.com","mon.zijieapi.com","mon.snssdk.com"]},pageview:{routeMode:"manual"},blankScreen:{rootSelector:"#root"}}})
!function(n,t){if(n.LogAnalyticsObject=t,!n[t]){function c(){c.q.push(arguments)}c.q=c.q||[],n[t]=c}n[t].l=+new Date}(window,"collectEvent")
window.collectEvent("usePlugin","autotrack"),window.collectEvent("usePlugin","stay"),window.collectEvent("init",{app_id:24,channel:"cn",autotrack:{custom:"tea",text:!0},enable_stay_duration:!0}),window.collectEvent("config",{evtParams:{url:window.location.href,screen_width:window.screen.width,screen_height:window.screen.height,screen_inner_width:window.innerWidth,screen_inner_height:window.innerHeight}})
window.byted_acrawler&&window.byted_acrawler.init({aid:24,dfp:!0})
window.TTGCaptcha&&window.TTGCaptcha.init({commonOptions:{aid:24,iid:"0",did:"0"}})
window.secsdk&&window.secsdk.csrf.setProtectedHost({"www.toutiao.com":{GET:[],POST:[/^\/api\/pc\/user\/fans_digg/,/^\/api\/pc\/user\/delete/,/^\/api\/pc\/user\/follow/,/^\/c\/ugc\/content\/repost/,/^\/group\/repin/,/^\/group\/unrepin/,/^\/api\/pc\/user\/stick/,/^\/api\/pc\/user\/unstick/,/^\/c\/user\/unfollow/,/^\/wenda\/v5\/interact\/followanswer/,/^\/wenda\/v5\/interact\/followquestion/,/^\/wenda\/v5\/interact\/digganswer/,/^\/wenda\/v5\/interact\/deleteanswer/,/^\/user_data\/batch_action/],PUT:[],PATCH:[],DELETE:[]}})
"undefined"!=typeof window&&"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("/sw.js").catch(function(e){window.Slardar&&window.Slardar("emit","counter",{name:"sw-register-error",value:1})})})
function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-QEHZPBE5HH")
%7B%22data%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%22%2C%22abstract%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22articleType%22%3A%22article%22%2C%22itemId%22%3A%227207743318715793920%22%2C%22groupId%22%3A%227207743318715793920%22%2C%22groupSource%22%3A2%2C%22isOriginal%22%3Afalse%2C%22banComment%22%3Afalse%2C%22publishTime%22%3A%222023-03-08%2009%3A00%22%2C%22source%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22tag%22%3A%22technique%22%2C%22mediaSite%22%3Anull%2C%22pathname%22%3A%22%2Farticle%2F7207743318715793920%2F%22%2C%22useCandle%22%3Afalse%2C%22isExclusive%22%3Afalse%2C%22favorite%22%3Afalse%2C%22relation%22%3A%7B%22isFollowing%22%3Afalse%2C%22isFollowed%22%3Afalse%7D%2C%22likeData%22%3A%7B%22userLikeStatus%22%3A0%2C%22count%22%3A1%7D%2C%22isSelf%22%3Afalse%2C%22content%22%3A%22%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%89%8D%E8%A8%80%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E6%9D%A5%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E5%BC%95%E5%AF%BC%E9%85%8D%E7%BD%AE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E7%BC%96%E5%86%99%20Shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E9%97%AE%E9%A2%98%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%94%B1%20Bash%20%E6%88%96%E8%80%85%20zsh%20%E6%89%A7%E8%A1%8C%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%98%AF%E8%87%AA%E5%8A%A8%E5%8C%96%E9%87%8D%E5%A4%8D%E4%BB%BB%E5%8A%A1%E7%9A%84%E5%A5%BD%E6%96%B9%E6%B3%95%E3%80%82Node.js%20%E4%BC%BC%E4%B9%8E%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E7%90%86%E6%83%B3%E9%80%89%E6%8B%A9%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E8%AE%B8%E5%A4%9A%E6%A0%B8%E5%BF%83%E6%A8%A1%E5%9D%97%EF%BC%8C%E5%B9%B6%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E5%AF%BC%E5%85%A5%E4%BB%BB%E4%BD%95%E6%88%91%E4%BB%AC%E9%80%89%E6%8B%A9%E7%9A%84%E5%BA%93%E3%80%82%E5%AE%83%E8%BF%98%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%AE%BF%E9%97%AE%20JavaScript%20%E6%8F%90%E4%BE%9B%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E5%92%8C%E5%86%85%E7%BD%AE%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E4%BD%A0%E5%B0%9D%E8%AF%95%E7%BC%96%E5%86%99%E8%BF%90%E8%A1%8C%E5%9C%A8%20Node.js%20%E4%B8%AD%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E4%BD%A0%E4%BC%9A%E5%8F%91%E7%8E%B0%E8%BF%99%E6%B2%A1%E6%9C%89%E4%BD%A0%E6%83%B3%E8%B1%A1%E4%B8%AD%E7%9A%84%E9%82%A3%E4%B9%88%E9%A1%BA%E5%88%A9%E3%80%82%E4%BD%A0%E9%9C%80%E8%A6%81%E4%B8%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%BC%96%E5%86%99%E7%89%B9%E6%AE%8A%E7%9A%84%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%EF%BC%8C%E6%B3%A8%E6%84%8F%E8%BD%AC%E4%B9%89%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%EF%BC%8C%E7%84%B6%E5%90%8E%E6%9C%80%E7%BB%88%E4%B8%8E%20stdout%EF%BC%88%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%89%E5%92%8C%20stderr%EF%BC%88%E6%A0%87%E5%87%86%E9%94%99%E8%AF%AF%EF%BC%89%E6%89%93%E4%BA%A4%E9%81%93%E3%80%82%E8%BF%99%E4%B8%8D%E6%98%AF%E7%89%B9%E5%88%AB%E7%9B%B4%E8%A7%82%EF%BC%8C%E8%80%8C%E4%B8%94%E4%BC%9A%E4%BD%BF%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E7%9B%B8%E5%BD%93%E7%AC%A8%E6%8B%99%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EBash%20shell%20%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E6%99%AE%E9%81%8D%E9%80%89%E6%8B%A9%E3%80%82%E4%B8%8D%E9%9C%80%E8%A6%81%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%E6%9D%A5%E5%A4%84%E7%90%86%E5%AD%90%E8%BF%9B%E7%A8%8B%EF%BC%8C%E8%80%8C%E4%B8%94%E5%AE%83%E6%9C%89%E5%86%85%E7%BD%AE%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E6%9D%A5%E5%A4%84%E7%90%86%20stdout%20%E5%92%8C%20stderr%E3%80%82%E4%BD%86%E6%98%AF%E7%94%A8%20Bash%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E4%B9%9F%E4%B8%8D%E6%98%AF%E9%82%A3%E4%B9%88%E5%AE%B9%E6%98%93%E3%80%82%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9B%B8%E5%BD%93%E6%B7%B7%E4%B9%B1%EF%BC%8C%E4%BD%BF%E5%BE%97%E5%AE%83%E5%AE%9E%E7%8E%B0%E9%80%BB%E8%BE%91%EF%BC%8C%E6%88%96%E8%80%85%E5%A4%84%E7%90%86%E8%AF%B8%E5%A6%82%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E7%9A%84%E4%BA%8B%E6%83%85%E9%9D%9E%E5%B8%B8%E5%9B%B0%E9%9A%BE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%9C%89%E5%8A%A9%E4%BA%8E%E8%AE%A9%E4%BD%BF%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E9%AB%98%E6%95%88%E5%92%8C%E8%88%92%E9%80%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BE%80%E4%B8%8B%E9%98%85%E8%AF%BB%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%E9%9C%80%E8%A6%81%E9%81%B5%E5%BE%AA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%90%86%E6%83%B3%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E4%BD%A0%E5%BA%94%E8%AF%A5%E7%86%9F%E6%82%89%20JavaScript%20%E5%92%8C%20Node.js%20%E7%9A%84%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E9%80%82%E5%BA%94%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20Node.js%20%26gt%3B%3D%20v14.13.1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cbr%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E4%BB%8E%20GitHub%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DysCUhsc%252BhqUmtqCo55t8jw%253D%253D.aWhjUaPje6eTlkcFFdhW%252FeIVYyAz5G%252FoPbGuXjsxlpcJphMKguwz3NoHWQ9o2vDb47Nfnm9kpIP6Ol5r6Euc8A%253D%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E8%8E%B7%E5%BE%97%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E8%BF%90%E4%BD%9C%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EGoogle%20%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%88%9B%E5%BB%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%A4%84%E7%90%86%E8%BF%99%E4%BA%9B%E8%BF%9B%E7%A8%8B%E7%9A%84%20stdout%20%E5%92%8C%20stderr%20%E7%9A%84%E5%87%BD%E6%95%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E7%9A%84%E4%B8%BB%E8%A6%81%E5%87%BD%E6%95%B0%E6%98%AF%24%E5%87%BD%E6%95%B0%E3%80%82%E4%B8%8B%E9%9D%A2%E6%98%AF%E5%AE%83%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AE%9E%E9%99%85%E4%BE%8B%E5%AD%90%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnawait%26nbsp%3B%24%60ls%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E6%89%A7%E8%A1%8C%E4%B8%8A%E8%BF%B0%E4%BB%A3%E7%A0%81%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnbootstrap-tool%5Cnhello-world%5Cnnode_modules%5Cnpackage.json%5CnREADME.md%5Cntypescript%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%E7%9A%84%20JavaScript%20%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9C%8B%E8%B5%B7%E6%9D%A5%E6%9C%89%E7%82%B9%E5%8F%A4%E6%80%AA%E3%80%82%E5%AE%83%E4%BD%BF%E7%94%A8%E4%BA%86%E4%B8%80%E7%A7%8D%E5%8F%AB%E5%81%9A%E5%B8%A6%E6%A0%87%E7%AD%BE%E7%9A%84%E6%A8%A1%E6%9D%BF%E5%AD%97%E7%AC%A6%E4%B8%B2%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DVUkodq5er%252Fynbhfl3MUQZA%253D%253D.%252Flx6oaDCVK4XuYyYLqvDi2QMWjCwW1jKBvNQgfaGG0AVwpl7I2CYD4sJYHuonDSA6jj1qSSypc0aGVO%252BYuBMUiibG6pBkVwusg%252Bai1hbMXetqlwMTWVUEAbtabMCbXIs%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E3%80%82%E5%AE%83%E5%9C%A8%E5%8A%9F%E8%83%BD%E4%B8%8A%E4%B8%8E%E7%BC%96%E5%86%99%20await%20%24(%26%2334%3Bls%26%2334%3B)%E7%9B%B8%E5%90%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%85%B6%E4%BB%96%E5%87%A0%E4%B8%AA%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%EF%BC%8C%E4%BD%BF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E6%9B%B4%E5%AE%B9%E6%98%93%E3%80%82%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ecd()%E3%80%82%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E6%9B%B4%E6%94%B9%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Equestion()%E3%80%82%E8%BF%99%E6%98%AF%20Node.js%20readline%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%8C%85%E8%A3%85%E5%99%A8%E3%80%82%E5%AE%83%E4%BD%BF%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E5%8F%98%E5%BE%97%E7%AE%80%E5%8D%95%E6%98%8E%E4%BA%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%99%A4%E4%BA%86%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%A4%96%EF%BC%8C%E5%AE%83%E8%BF%98%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E5%87%A0%E4%B8%AA%E6%B5%81%E8%A1%8C%E7%9A%84%E5%BA%93%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Echalk%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D%252FL15Y8OQNrp05Scx6N4iaQ%253D%253D.r8AZkfcE1Ye%252BlNUznFA9RNJMhfyM0lttTiD0TmqjJQwoi7zjQjs5YiLjI%252FWDEooY%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%99%E4%B8%AA%E5%BA%93%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E4%B8%BA%E8%84%9A%E6%9C%AC%E7%9A%84%E8%BE%93%E5%87%BA%E6%B7%BB%E5%8A%A0%E9%A2%9C%E8%89%B2%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Eminimist%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5tMQ5d6qJ4STEHZeuiN0MA%253D%253D.x9GPOpXVZp5TGKknZCkwA10QP%252Ftw%252BW7fwnpYGg%252BnlJPJLK3RboT3jqy5WuPLFwPZ%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E4%B8%AA%E8%A7%A3%E6%9E%90%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E7%9A%84%E5%BA%93%E3%80%82%E7%84%B6%E5%90%8E%E5%AE%83%E4%BB%AC%E5%9C%A8%20argv%20%E5%AF%B9%E8%B1%A1%E4%B8%8B%E8%A2%AB%E6%9A%B4%E9%9C%B2%E5%87%BA%E6%9D%A5%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efetch%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D71LC44tCu%252FZoLOY2B7MfuA%253D%253D.GO%252FMi37T0KTmj8UXau9xdFUBiIk1I%252F8M%252FHk2hZYrhRb%252Fd3Vl0bzlr05hanNxzuVb%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EFetch%20API%20%E7%9A%84%20Node.js%20%E5%AE%9E%E7%8E%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E8%BF%9B%E8%A1%8C%20HTTP%20%E8%AF%B7%E6%B1%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efs-extra%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DcPZzXniTRFJdbq87FdwLWw%253D%253D.IsmhSUEjIcZAqw8FDidbUnNhhIVPT1gsFSo%252BchiXCAs9AaxUVT%252FEgbIvswUDVmK2%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%B8%80%E4%B8%AA%E6%9A%B4%E9%9C%B2%20Node.js%20%E6%A0%B8%E5%BF%83%20fs%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%BA%93%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B9%E6%B3%95%EF%BC%8C%E4%BD%BF%E5%85%B6%E6%9B%B4%E5%AE%B9%E6%98%93%E4%B8%8E%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%80%E8%B5%B7%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9F%A5%E9%81%93%E4%BA%86%20zx%20%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E4%BB%80%E4%B9%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E7%94%A8%E5%AE%83%E5%88%9B%E5%BB%BA%E7%AC%AC%E4%B8%80%E4%B8%AA%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bzx-shell-scripts%5Cncd%26nbsp%3Bzx-shell-scripts%5Cnnpm%26nbsp%3Binit%26nbsp%3B--yes%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%AE%89%E8%A3%85%20zx%20%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bzx%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E7%9A%84%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E7%94%A8%20npm%20%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E8%AF%A5%E5%BA%93%E3%80%82%E9%80%9A%E8%BF%87%E5%B0%86%E5%85%B6%E5%AE%89%E8%A3%85%E4%B8%BA%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%A1%AE%E4%BF%9D%20zx%20%E6%80%BB%E6%98%AF%E8%A2%AB%E5%AE%89%E8%A3%85%EF%BC%8C%E5%B9%B6%E6%8E%A7%E5%88%B6%20shell%20%E8%84%9A%E6%9C%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E7%89%88%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A1%B6%E7%BA%A7%20await%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%20Node.js%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E9%A1%B6%E7%BA%A7%20await%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%20await%20%E4%BD%8D%E4%BA%8E%20async%20%E5%87%BD%E6%95%B0%E7%9A%84%E5%A4%96%E9%83%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%9C%A8%20ES%20%E6%A8%A1%E5%9D%97%E7%9A%84%E6%A8%A1%E5%BC%8F%E4%B8%8B%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%EF%BC%8C%E8%AF%A5%E6%A8%A1%E5%BC%8F%E6%94%AF%E6%8C%81%E9%A1%B6%E7%BA%A7%20await%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%20package.json%20%E4%B8%AD%E6%B7%BB%E5%8A%A0%20%26%2334%3Btype%26%2334%3B%3A%20%26%2334%3Bmodule%26%2334%3B%20%E6%80%8E%E4%B9%88%E6%80%8E%E4%B9%88%E6%9D%A5%E8%A1%A8%E6%98%8E%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%A8%A1%E5%9D%97%E9%83%BD%E6%98%AF%20ES%20%E6%A8%A1%E5%9D%97%E3%80%82%E6%88%96%E8%80%85%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%B0%86%E5%8D%95%E4%B8%AA%E8%84%9A%E6%9C%AC%E7%9A%84%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E8%AE%BE%E7%BD%AE%E4%B8%BA%20.mjs%20%E3%80%82%E5%9C%A8%E6%9C%AC%E6%96%87%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20.mjs%20%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E5%B9%B6%E6%8D%95%E8%8E%B7%E8%BE%93%E5%87%BA%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B0%86%E5%85%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world.mjs%20%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%AE%83%E5%91%8A%E8%AF%89%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%88OS%EF%BC%89%E7%9A%84%E5%86%85%E6%A0%B8%E8%A6%81%E7%94%A8%20node%20%E7%A8%8B%E5%BA%8F%E8%BF%90%E8%A1%8C%E8%AF%A5%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%BA%9B%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%BD%BF%E7%94%A8%20zx%20%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8B%E9%9D%A2%E7%9A%84%E4%BB%A3%E7%A0%81%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%20ls%20%E7%A8%8B%E5%BA%8F%E3%80%82ls%20%E7%A8%8B%E5%BA%8F%E5%B0%86%E5%88%97%E5%87%BA%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%88%E8%84%9A%E6%9C%AC%E6%89%80%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%EF%BC%89%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BB%8E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BF%9B%E7%A8%8B%E4%B8%AD%E6%8D%95%E8%8E%B7%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B0%86%E5%85%B6%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E7%84%B6%E5%90%8E%E6%89%93%E5%8D%B0%E5%88%B0%E7%BB%88%E7%AB%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cnconsole.log(output)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E6%8A%8A%2Fusr%2Fbin%2Fenv%20zx%20%E6%94%BE%E5%9C%A8%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E7%9A%84%20shebang%20%E8%A1%8C%E4%B8%AD%EF%BC%8C%E4%BD%86%E6%88%91%E4%BB%AC%E7%94%A8%2Fusr%2Fbin%2Fenv%20node%20%E4%BB%A3%E6%9B%BF%E3%80%82%E8%BF%99%E6%98%AF%E5%9B%A0%E4%B8%BA%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%20zx%EF%BC%8C%E5%B9%B6%E4%BD%9C%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E6%98%8E%E7%A1%AE%E5%9C%B0%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E6%83%B3%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%E3%80%82%E8%BF%99%E6%9C%89%E5%8A%A9%E4%BA%8E%E6%98%8E%E7%A1%AE%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E4%BE%9D%E8%B5%96%E6%9D%A5%E8%87%AA%E5%93%AA%E9%87%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%20chmod%20%E6%9D%A5%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E5%A6%82%E4%B8%8B%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%88ls%EF%BC%89%E8%A2%AB%E5%8C%85%E5%90%AB%E5%9C%A8%E8%BE%93%E5%87%BA%E4%B8%AD%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%E6%98%BE%E7%A4%BA%E4%B8%A4%E6%AC%A1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BE%93%E5%87%BA%E7%9A%84%E6%9C%AB%E5%B0%BE%E5%A4%9A%E4%BA%86%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E9%BB%98%E8%AE%A4%E4%BB%A5%20verbose%20%E6%A8%A1%E5%BC%8F%E8%BF%90%E8%A1%8C%E3%80%82%E5%AE%83%E5%B0%86%E8%BE%93%E5%87%BA%E4%BD%A0%E4%BC%A0%E9%80%92%E7%BB%99%24%E5%87%BD%E6%95%B0%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%90%8C%E6%97%B6%E4%B9%9F%E8%BE%93%E5%87%BA%E8%AF%A5%E5%91%BD%E4%BB%A4%E7%9A%84%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%E8%BF%90%E8%A1%8C%20ls%20%E5%91%BD%E4%BB%A4%E5%89%8D%E5%8A%A0%E5%85%A5%E4%BB%A5%E4%B8%8B%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E6%9D%A5%E6%94%B9%E5%8F%98%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A4%A7%E5%A4%9A%E6%95%B0%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%A6%82%20ls%EF%BC%8C%E4%BC%9A%E5%9C%A8%E5%85%B6%E8%BE%93%E5%87%BA%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E5%AD%97%E7%AC%A6%EF%BC%8C%E4%BB%A5%E4%BD%BF%E8%BE%93%E5%87%BA%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E6%9B%B4%E6%98%93%E8%AF%BB%E3%80%82%E8%BF%99%E5%AF%B9%E5%8F%AF%E8%AF%BB%E6%80%A7%E6%9C%89%E5%A5%BD%E5%A4%84%EF%BC%8C%E4%BD%86%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E8%A6%81%E5%B0%86%E8%BE%93%E5%87%BA%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E6%9C%89%E8%BF%99%E4%B8%AA%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B0%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%20JavaScript%20String%23trim()%E5%87%BD%E6%95%B0%E6%8A%8A%E5%AE%83%E5%8E%BB%E6%8E%89%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E-%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cn%2B%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout.trim()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%86%8D%E6%AC%A1%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E7%BB%93%E6%9E%9C%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%A5%BD%E5%BE%88%E5%A4%9A%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ehello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%BC%95%E5%85%A5%20TypeScript%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E6%83%B3%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%BC%96%E5%86%99%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%BE%AE%E5%B0%8F%E7%9A%84%E5%8C%BA%E5%88%AB%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%8A%A0%E4%BB%A5%E8%AF%B4%E6%98%8E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9ATypeScript%20%E7%BC%96%E8%AF%91%E5%99%A8%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E5%AE%83%E5%A6%82%E4%BD%95%E7%BC%96%E8%AF%91%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%E8%80%83%E8%99%91%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E4%B8%8B%E9%9D%A2%E7%9A%84%20TypeScript%20%E9%85%8D%E7%BD%AE%E5%92%8C%E4%BB%A3%E7%A0%81%E6%98%AF%E4%B8%BA%E4%BA%86%E5%9C%A8%E5%A4%A7%E5%A4%9A%E6%95%B0%20TypeScript%20%E7%89%88%E6%9C%AC%E4%B8%8B%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E5%AE%89%E8%A3%85%E9%9C%80%E8%A6%81%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E7%9A%84%E4%BE%9D%E8%B5%96%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Btypescript%26nbsp%3Bts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ets-node%20%E5%8C%85%E6%8F%90%E4%BE%9B%E4%BA%86%E4%B8%80%E4%B8%AA%20TypeScript%20%E6%89%A7%E8%A1%8C%E5%BC%95%E6%93%8E%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E8%83%BD%E5%A4%9F%E8%BD%AC%E8%AF%91%E5%92%8C%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%9C%80%E8%A6%81%E5%88%9B%E5%BB%BA%20tsconfig.json%20%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E4%B8%8B%E9%9D%A2%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%7B%5Cn%26%2334%3BcompilerOptions%26%2334%3B%3A%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Btarget%26%2334%3B%3A%26nbsp%3B%26%2334%3Bes2017%26%2334%3B%2C%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Bmodule%26%2334%3B%3A%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5Cn%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E6%96%B0%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B9%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world-typescript.ts%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E6%B7%BB%E5%8A%A0%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%91%8A%E8%AF%89%20OS%20%E5%86%85%E6%A0%B8%E4%BD%BF%E7%94%A8%20ts-node%20%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B.%2Fnode_modules%2F.bin%2Fts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E4%B8%AD%E4%BD%BF%E7%94%A8%20await%20%E5%85%B3%E9%94%AE%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E6%8A%8A%E5%AE%83%E5%8C%85%E8%A3%85%E5%9C%A8%E4%B8%80%E4%B8%AA%E7%AB%8B%E5%8D%B3%E8%B0%83%E7%94%A8%E5%87%BD%E6%95%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%EF%BC%88IIFE%EF%BC%89%E4%B8%AD%EF%BC%8C%E6%AD%A3%E5%A6%82%20zx%20%E6%96%87%E6%A1%A3%E6%89%80%E5%BB%BA%E8%AE%AE%E7%9A%84%E9%82%A3%E6%A0%B7%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world-typescript.ts%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnvoid%26nbsp%3B(async%26nbsp%3Bfunction%26nbsp%3B()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60ls%60%3B%5Cn%7D)()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E9%9C%80%E8%A6%81%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E4%B8%8B%E9%9D%A2%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world-typescript.ts%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cntsconfig.json%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%E8%84%9A%E6%9C%AC%E4%B8%8E%E4%BD%BF%E7%94%A8%20JavaScript%20%E7%9B%B8%E4%BC%BC%EF%BC%8C%E4%BD%86%E9%9C%80%E8%A6%81%E5%AF%B9%E6%88%91%E4%BB%AC%E7%9A%84%E4%BB%A3%E7%A0%81%E8%BF%9B%E8%A1%8C%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E9%85%8D%E7%BD%AE%E5%92%8C%E5%8C%85%E8%A3%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%9E%84%E5%BB%BA%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E7%94%A8%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AF%86%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E7%94%A8%E5%AE%83%E6%9D%A5%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B7%A5%E5%85%B7%E3%80%82%E8%BF%99%E4%B8%AA%E5%B7%A5%E5%85%B7%E5%B0%86%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E9%80%9A%E5%B8%B8%E5%BE%88%E8%80%97%E6%97%B6%E7%9A%84%E8%BF%87%E7%A8%8B%EF%BC%9A%E4%B8%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E7%9A%84%E9%85%8D%E7%BD%AE%E6%8F%90%E4%BE%9B%E5%BC%95%E5%AF%BC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BA%A4%E4%BA%92%E5%BC%8F%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E3%80%82%E5%AE%83%E8%BF%98%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E5%86%85%E7%BD%AE%E7%9A%84%20chalk%20%E5%BA%93%EF%BC%8C%E4%BB%A5%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A2%9C%E8%89%B2%E9%AB%98%E4%BA%AE%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B9%B6%E6%8F%90%E4%BE%9B%E4%B8%80%E4%B8%AA%E5%8F%8B%E5%A5%BD%E7%9A%84%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C%E3%80%82%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E8%BF%98%E5%B0%86%E5%AE%89%E8%A3%85%E6%96%B0%E9%A1%B9%E7%9B%AE%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%EF%BC%8C%E6%89%80%E4%BB%A5%E5%AE%83%E5%B7%B2%E7%BB%8F%E5%87%86%E5%A4%87%E5%A5%BD%E8%AE%A9%E6%88%91%E4%BB%AC%E7%AB%8B%E5%8D%B3%E5%BC%80%E5%A7%8B%E5%BC%80%E5%8F%91%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%87%86%E5%A4%87%E5%BC%80%E5%A7%8B%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%90%8D%E4%B8%BA%20bootstrap-tool.mjs%20%E7%9A%84%E6%96%B0%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B9%B6%E6%B7%BB%E5%8A%A0%20shebang%20%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E6%A8%A1%E5%9D%97%EF%BC%8C%E4%BB%A5%E5%8F%8A%20Node.js%20%E6%A0%B8%E5%BF%83%20path%20%E6%A8%A1%E5%9D%97%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%2F%2F%26nbsp%3Bbootstrap-tool.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%2C%26nbsp%3Bargv%2C%26nbsp%3Bcd%2C%26nbsp%3Bchalk%2C%26nbsp%3Bfs%2C%26nbsp%3Bquestion%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnimport%26nbsp%3Bpath%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bpath%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8E%E6%88%91%E4%BB%AC%E4%B9%8B%E5%89%8D%E5%88%9B%E5%BB%BA%E7%9A%84%E8%84%9A%E6%9C%AC%E4%B8%80%E6%A0%B7%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bbootstrap-tool.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E7%94%A8%E7%BA%A2%E8%89%B2%E6%96%87%E6%9C%AC%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%EF%BC%8C%E5%B9%B6%E4%BB%A5%E9%94%99%E8%AF%AF%E9%80%80%E5%87%BA%E4%BB%A3%E7%A0%81%201%20%E9%80%80%E5%87%BA%20Node.js%20%E8%BF%9B%E7%A8%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Efunction%26nbsp%3BexitWithError(errorMessage)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconsole.error(chalk.red(errorMessage))%3B%5Cn%26nbsp%3B%26nbsp%3Bprocess.exit(1)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BD%93%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%A4%84%E7%90%86%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E9%80%9A%E8%BF%87%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%9C%A8%E5%90%84%E4%B8%AA%E5%9C%B0%E6%96%B9%E4%BD%BF%E7%94%A8%E8%BF%99%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%E4%B8%89%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%9Agit%E3%80%81node%20%E5%92%8C%20npx%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20which%20%E5%BA%93%E6%9D%A5%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E6%A3%80%E6%9F%A5%E8%BF%99%E4%BA%9B%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%E5%B9%B6%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20which%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bwhich%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%BC%95%E5%85%A5%E5%AE%83%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3Bwhich%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bwhich%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BD%BF%E7%94%A8%E5%AE%83%E7%9A%84%20checkRequiredProgramsExist%20%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckRequiredProgramsExist(programs)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3Bprogram%26nbsp%3Bof%26nbsp%3Bprograms)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bwhich(program)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BRequired%26nbsp%3Bcommand%26nbsp%3B%24%7Berror.message%7D%60)%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%90%8D%E7%A7%B0%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%95%B0%E7%BB%84%EF%BC%8C%E5%AF%B9%E6%AF%8F%E4%B8%AA%E7%A8%8B%E5%BA%8F%E8%B0%83%E7%94%A8%20which%20%E5%87%BD%E6%95%B0%E3%80%82%E5%A6%82%E6%9E%9C%20which%20%E6%89%BE%E5%88%B0%E4%BA%86%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%B7%AF%E5%BE%84%EF%BC%8C%E5%AE%83%E5%B0%86%E8%BF%94%E5%9B%9E%E8%AF%A5%E7%A8%8B%E5%BA%8F%E3%80%82%E5%90%A6%E5%88%99%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%AF%A5%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E6%8A%9B%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E3%80%82%E5%A6%82%E6%9E%9C%E6%9C%89%E4%BB%BB%E4%BD%95%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E8%B0%83%E7%94%A8%20exitWithError%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%E5%B9%B6%E5%81%9C%E6%AD%A2%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%8F%AF%E4%BB%A5%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%AF%B9%20checkRequiredProgramsExist%20%E7%9A%84%E8%B0%83%E7%94%A8%EF%BC%8C%E4%BB%A5%E6%A3%80%E6%9F%A5%E6%88%91%E4%BB%AC%E7%9A%84%E5%B7%A5%E5%85%B7%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%8F%AF%E7%94%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckRequiredProgramsExist(%5B%26%2334%3Bgit%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnode%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnpx%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%B7%BB%E5%8A%A0%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E9%80%89%E9%A1%B9%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%B0%86%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E5%90%AF%E5%8A%A8%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%88%91%E4%BB%AC%E5%B8%8C%E6%9C%9B%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9A%84%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E3%80%82%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E8%A6%81%E7%BB%99%E8%84%9A%E6%9C%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20--directory%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E5%86%85%E7%BD%AE%E4%BA%86%20minimist%20%E5%8C%85%EF%BC%8C%E5%AE%83%E8%83%BD%E5%A4%9F%E8%A7%A3%E6%9E%90%E4%BC%A0%E9%80%92%E7%BB%99%E8%84%9A%E6%9C%AC%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%E8%BF%99%E4%BA%9B%E8%A2%AB%E8%A7%A3%E6%9E%90%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E8%A2%AB%20zx%20%E5%8C%85%E4%BD%9C%E4%B8%BA%20argv%20%E6%8F%90%E4%BE%9B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E5%90%8D%E4%B8%BA%20directory%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E6%A3%80%E6%9F%A5%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Elet%26nbsp%3BtargetDirectory%26nbsp%3B%3D%26nbsp%3Bargv.directory%3B%5Cnif%26nbsp%3B(!targetDirectory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%26%2334%3BError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%26%2334%3B)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%20directory%20%E5%8F%82%E6%95%B0%E8%A2%AB%E4%BC%A0%E9%80%92%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%E5%AE%83%E6%98%AF%E5%90%A6%E6%98%AF%E5%B7%B2%E7%BB%8F%E5%AD%98%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%E7%9A%84%E8%B7%AF%E5%BE%84%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%8F%90%E4%BE%9B%E7%9A%84%20fs.pathExists%20%E6%96%B9%E6%B3%95%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3EtargetDirectory%26nbsp%3B%3D%26nbsp%3Bpath.resolve(targetDirectory)%3B%5Cnif%26nbsp%3B(!(await%26nbsp%3Bfs.pathExists(targetDirectory)))%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BTarget%26nbsp%3Bdirectory%26nbsp%3B%26%2339%3B%24%7BtargetDirectory%7D%26%2339%3B%26nbsp%3Bdoes%26nbsp%3Bnot%26nbsp%3Bexist%60)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E8%B7%AF%E5%BE%84%E5%AD%98%E5%9C%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%20cd%20%E5%87%BD%E6%95%B0%E6%9D%A5%E5%88%87%E6%8D%A2%E5%BD%93%E5%89%8D%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%9A%E2%80%8D%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ecd(targetDirectory)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%9C%A8%E6%B2%A1%E6%9C%89--directory%20%E5%8F%82%E6%95%B0%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E5%BA%94%E8%AF%A5%E4%BC%9A%E6%94%B6%E5%88%B0%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3B.%2Fbootstrap-tool.mjs%5CnError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E5%85%A8%E5%B1%80%20Git%20%E8%AE%BE%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%A8%8D%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%8C%E4%BD%86%E9%A6%96%E5%85%88%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%20Git%20%E6%98%AF%E5%90%A6%E6%9C%89%E5%AE%83%E9%9C%80%E8%A6%81%E7%9A%84%E9%85%8D%E7%BD%AE%E3%80%82%E6%88%91%E4%BB%AC%E8%A6%81%E7%A1%AE%E4%BF%9D%E6%8F%90%E4%BA%A4%E4%BC%9A%E8%A2%AB%20GitHub%20%E7%AD%89%E4%BB%A3%E7%A0%81%E6%89%98%E7%AE%A1%E6%9C%8D%E5%8A%A1%E6%AD%A3%E7%A1%AE%E5%BD%92%E7%B1%BB%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%81%9A%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E8%BF%99%E9%87%8C%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E7%B4%A2%20Git%20%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%E7%9A%84%E5%80%BC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetGlobalGitSettingValue(settingName)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B%26%2334%3B%26%2334%3B%3B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60git%26nbsp%3Bconfig%26nbsp%3B--global%26nbsp%3B--get%26nbsp%3B%24%7BsettingName%7D%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B).stdout.trim()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%2F%2F%26nbsp%3BIgnore%26nbsp%3Bprocess%26nbsp%3Boutput%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BsettingValue%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E5%85%B3%E9%97%AD%20zx%20%E9%BB%98%E8%AE%A4%E8%AE%BE%E7%BD%AE%E7%9A%84%20verbose%20%E6%A8%A1%E5%BC%8F%E3%80%82%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%EF%BC%8C%E5%BD%93%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%97%B6%EF%BC%8C%E8%AF%A5%E5%91%BD%E4%BB%A4%E5%92%8C%E5%AE%83%E5%8F%91%E9%80%81%E5%88%B0%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E7%9A%84%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9%E9%83%BD%E4%B8%8D%E4%BC%9A%E8%A2%AB%E6%98%BE%E7%A4%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%9C%A8%E5%87%BD%E6%95%B0%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E5%B0%86%20verbose%20%E6%A8%A1%E5%BC%8F%E9%87%8D%E6%96%B0%E6%89%93%E5%BC%80%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E5%BD%B1%E5%93%8D%E5%88%B0%E6%88%91%E4%BB%AC%E7%A8%8D%E5%90%8E%E5%9C%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%85%B6%E4%BB%96%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%20checkGlobalGitSettings%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A5%E5%87%BD%E6%95%B0%E6%8E%A5%E6%94%B6%20Git%20%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%E7%BB%84%E6%88%90%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%B0%86%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%AF%8F%E4%B8%AA%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E4%BC%A0%E9%80%92%E7%BB%99%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E4%BB%A5%E6%A3%80%E7%B4%A2%E5%85%B6%E5%80%BC%E3%80%82%E5%A6%82%E6%9E%9C%E8%AE%BE%E7%BD%AE%E6%B2%A1%E6%9C%89%E5%80%BC%EF%BC%8C%E5%B0%86%E6%98%BE%E7%A4%BA%E8%AD%A6%E5%91%8A%E4%BF%A1%E6%81%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckGlobalGitSettings(settingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3BsettingName%26nbsp%3Bof%26nbsp%3BsettingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetGlobalGitSettingValue(settingName)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!settingValue)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.warn(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.yellow(%60Warning%3A%26nbsp%3BGlobal%26nbsp%3Bgit%26nbsp%3Bsetting%26nbsp%3B%26%2339%3B%24%7BsettingName%7D%26%2339%3B%26nbsp%3Bis%26nbsp%3Bnot%26nbsp%3Bset.%60)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E7%BB%99%20checkGlobalGitSettings%20%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E8%B0%83%E7%94%A8%EF%BC%8C%E6%A3%80%E6%9F%A5%20user.name%20%E5%92%8C%20user.email%20%E7%9A%84%20Git%20%E8%AE%BE%E7%BD%AE%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E8%A2%AB%E8%AE%BE%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckGlobalGitSettings(%5B%26%2334%3Buser.name%26%2334%3B%2C%26nbsp%3B%26%2334%3Buser.email%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%88%9D%E5%A7%8B%E5%8C%96%20Git%20%E4%BB%93%E5%BA%93%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E6%B7%BB%E5%8A%A0%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Binit%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20package.json%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%AF%8F%E4%B8%AA%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%83%BD%E9%9C%80%E8%A6%81%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E8%BF%99%E6%98%AF%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E5%AE%9A%E4%B9%89%E5%85%83%E6%95%B0%E6%8D%AE%E7%9A%84%E5%9C%B0%E6%96%B9%EF%BC%8C%E6%8C%87%E5%AE%9A%E9%A1%B9%E7%9B%AE%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E5%8C%85%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%B7%BB%E5%8A%A0%E5%AE%9E%E7%94%A8%E7%9A%84%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%94%9F%E6%88%90%20package.json%20%E6%96%87%E4%BB%B6%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E5%87%A0%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%98%AF%20readPackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%AF%BB%E5%8F%96%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BreadPackageJson(directory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3Bfs.readJSON(packageJsonFilepath)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20writePackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E5%90%91%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E5%86%99%E5%85%A5%E6%9B%B4%E6%94%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BwritePackageJson(directory%2C%26nbsp%3Bcontents)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bfs.writeJSON(packageJsonFilepath%2C%26nbsp%3Bcontents%2C%26nbsp%3B%7B%26nbsp%3Bspaces%3A%26nbsp%3B2%26nbsp%3B%7D)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%20fs.readJSON%20%E5%92%8C%20fs.writeJSON%20%E6%96%B9%E6%B3%95%E6%98%AF%E7%94%B1%20fs-extra%20%E5%BA%93%E6%8F%90%E4%BE%9B%E7%9A%84%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E5%AE%9A%E4%B9%89%E4%BA%86%20package.json%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%BC%80%E5%A7%8B%E8%80%83%E8%99%91%20package.json%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E6%94%AF%E6%8C%81%E4%B8%A4%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ECommonJS%20Modules%20(CJS)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DKTweLvts6a1zOlUbn0cnCA%253D%253D.WRSoJ3t37Y2GYjanjStt81N%252BkCOGoR11gK8pv6Fck09uaKTSXHq5mvMcWutIRxYU%3C%2Fspan%3E%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%BF%E7%94%A8%20module.exports%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20require()%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EECMAScript%20Modules%20(ESM)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DOUbF%252BkjeOpAlt3Fo9PFGFw%253D%253D.Ex%252BQVnop7rVNKtYxrnp%252Fhcm08eFRE7K2XLUBlFFQ7D4%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%BD%BF%E7%94%A8%20export%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20import%20%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E7%94%9F%E6%80%81%E7%B3%BB%E7%BB%9F%E6%AD%A3%E5%9C%A8%E9%80%90%E6%AD%A5%E9%87%87%E7%94%A8%20ES%20%E6%A8%A1%E5%9D%97%EF%BC%8C%E8%BF%99%E5%9C%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%20JavaScript%20%E4%B8%AD%E6%98%AF%E5%BE%88%E5%B8%B8%E8%A7%81%E7%9A%84%E3%80%82%E5%BD%93%E4%BA%8B%E6%83%85%E5%A4%84%E4%BA%8E%E8%BF%87%E6%B8%A1%E9%98%B6%E6%AE%B5%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%86%B3%E5%AE%9A%E6%88%91%E4%BB%AC%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%BB%98%E8%AE%A4%E4%BD%BF%E7%94%A8%20CJS%20%E6%A8%A1%E5%9D%97%E8%BF%98%E6%98%AF%20ESM%20%E6%A8%A1%E5%9D%97%E3%80%82%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%BF%99%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForModuleSystem(moduleSystems)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Which%26nbsp%3BNode.js%26nbsp%3Bmodule%26nbsp%3Bsystem%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Buse%3F%26nbsp%3B(%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26nbsp%3Bor%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D)%26nbsp%3B%60%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchoices%3A%26nbsp%3BmoduleSystems%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BmoduleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E5%87%BD%E6%95%B0%E4%BD%BF%E7%94%A8%E7%9A%84%20question%20%E5%87%BD%E6%95%B0%E7%94%B1%20zx%20%E6%8F%90%E4%BE%9B%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getNodeModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E8%B0%83%E7%94%A8%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E6%A3%80%E6%9F%A5%E6%89%80%E8%BE%93%E5%85%A5%E7%9A%84%E5%80%BC%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%8D%E6%98%AF%EF%BC%8C%E5%AE%83%E5%B0%86%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetNodeModuleSystem()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystems%26nbsp%3B%3D%26nbsp%3B%5B%26%2334%3Bmodule%26%2334%3B%2C%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForModuleSystem(moduleSystems)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BisValidModuleSystem%26nbsp%3B%3D%26nbsp%3BmoduleSystems.includes(selectedModuleSystem)%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!isValidModuleSystem)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BModule%26nbsp%3Bsystem%26nbsp%3Bmust%26nbsp%3Bbe%26nbsp%3Beither%26nbsp%3B%26%2339%3B%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26%2339%3B%26nbsp%3Bor%26nbsp%3B%26%2339%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%26%2339%3B%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BselectedModuleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E8%BF%90%E8%A1%8C%20npm%20init%20%E5%91%BD%E4%BB%A4%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npm%26nbsp%3Binit%26nbsp%3B--yes%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E8%AF%BB%E5%8F%96%E6%96%B0%E5%88%9B%E5%BB%BA%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E8%AF%A2%E9%97%AE%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%B3%BB%E7%BB%9F%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA%20packageJson%20%E5%AF%B9%E8%B1%A1%E4%B8%AD%E7%9A%84%20type%20%E5%B1%9E%E6%80%A7%E5%80%BC%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%E5%85%B6%E5%86%99%E5%9B%9E%E5%88%B0%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackageJson%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5CnpackageJson.type%26nbsp%3B%3D%26nbsp%3BselectedModuleSystem%3B%5Cnawait%26nbsp%3BwritePackageJson(targetDirectory%2C%26nbsp%3BpackageJson)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%8F%90%E7%A4%BA%EF%BC%9A%E5%BD%93%E4%BD%A0%E7%94%A8--yes%20%E6%A0%87%E5%BF%97%E8%BF%90%E8%A1%8C%20npm%20init%20%E6%97%B6%EF%BC%8C%E8%A6%81%E6%83%B3%E5%9C%A8%20package.json%20%E4%B8%AD%E8%8E%B7%E5%BE%97%E5%90%88%E7%90%86%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%EF%BC%8C%E8%AF%B7%E7%A1%AE%E4%BF%9D%E4%BD%A0%E8%AE%BE%E7%BD%AE%E4%BA%86%20npminit-*%E7%9A%84%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DX0aVKO8sVtj0bgZhFmgjVw%253D%253D.hxYbJxX5X2odlcPpk5MdIVLkT7ESAsFMhFnFSRBftI2c2BjNTUCtV1gwdXnpxWGI%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E9%A1%B9%E7%9B%AE%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E4%BD%BF%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E5%90%8E%E8%83%BD%E5%A4%9F%E8%BD%BB%E6%9D%BE%E5%9C%B0%E5%BC%80%E5%A7%8B%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForPackages%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E5%93%AA%E4%BA%9B%20npm%20%E5%8C%85%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForPackages()%26nbsp%3B%7B%5Cnlet%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3BWhich%26nbsp%3Bnpm%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Binstall%26nbsp%3Bfor%26nbsp%3Bthis%26nbsp%3Bproject%3F%26nbsp%3B%26%2334%3B%5Cn)%3B%5CnpackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall%5Cn%26nbsp%3B%26nbsp%3B.trim()%5Cn%26nbsp%3B%26nbsp%3B.split(%26%2334%3B%26nbsp%3B%26%2334%3B)%5Cn%26nbsp%3B%26nbsp%3B.filter((pkg)%26nbsp%3B%3D%26gt%3B%26nbsp%3Bpkg)%3B%5Cnreturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E9%98%B2%E6%AD%A2%E6%88%91%E4%BB%AC%E5%9C%A8%E8%BE%93%E5%85%A5%E5%8C%85%E5%90%8D%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E5%88%AB%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20identifyInvalidNpmPackages%20%E5%87%BD%E6%95%B0%E3%80%82%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E5%B0%86%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%20npm%20%E5%8C%85%E5%90%8D%E6%95%B0%E7%BB%84%EF%BC%8C%E7%84%B6%E5%90%8E%E8%BF%90%E8%A1%8C%20npm%20view%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E6%9F%A5%E5%AE%83%E4%BB%AC%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BidentifyInvalidNpmPackages(packages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3B%5B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(const%26nbsp%3Bpkg%26nbsp%3Bof%26nbsp%3Bpackages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Bview%26nbsp%3B%24%7Bpkg%7D%60%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BinvalidPackages.push(pkg)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BinvalidPackages%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getPackagesToInstall%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E5%88%9A%E5%88%9A%E5%88%9B%E5%BB%BA%E7%9A%84%E4%B8%A4%E4%B8%AA%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetPackagesToInstall()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForPackages()%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BidentifyInvalidNpmPackages(packagesToInstall)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BallPackagesExist%26nbsp%3B%3D%26nbsp%3BinvalidPackages.length%26nbsp%3B%3D%3D%3D%26nbsp%3B0%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!allPackagesExist)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BThe%26nbsp%3Bfollowing%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Bnot%26nbsp%3Bexist%26nbsp%3Bon%26nbsp%3Bnpm%3A%26nbsp%3B%24%7BinvalidPackages.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%2C%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%9C%89%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%90%8D%E7%A7%B0%E4%B8%8D%E6%AD%A3%E7%A1%AE%EF%BC%8C%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E6%97%A6%E6%88%91%E4%BB%AC%E5%BE%97%E5%88%B0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E6%9C%89%E6%95%88%E5%8C%85%E5%88%97%E8%A1%A8%EF%BC%8C%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20npm%20install%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E5%AE%89%E8%A3%85%E5%AE%83%E4%BB%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cnconst%26nbsp%3BhavePackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall.length%26nbsp%3B%26gt%3B%26nbsp%3B0%3B%5Cnif%26nbsp%3B(havePackagesToInstall)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Binstall%26nbsp%3B%24%7BpackagesToInstall%7D%60%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E4%B8%BA%E5%B7%A5%E5%85%B7%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE%E6%98%AF%E6%88%91%E4%BB%AC%E7%94%A8%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E7%9A%84%E6%9C%80%E4%BD%B3%E4%BA%8B%E9%A1%B9%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA.gitignore%20%E6%96%87%E4%BB%B6%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E6%84%8F%E5%A4%96%E5%9C%B0%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E5%9C%A8%20Git%20%E4%BB%93%E5%BA%93%E4%B8%AD%E5%87%BA%E7%8E%B0%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bgitignore%26nbsp%3Bnode%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8%20gitignore%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DV%252FIoxipE2WxmNECDRNKMqg%253D%253D.7Y4d34n%252BoUVlJkYEiJt3NLa9RHn2pYtKq%252BHpO67HIQjfjKAHIxcMynZzTudktHaV%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E5%8C%85%EF%BC%8C%E4%BB%8E%20GitHub%20%E7%9A%84%20gitignore%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3E%20https%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DSzh56TKqT6gYmrJidM7ZXg%253D%253D.BK7Vf5F73GaplJKeN48OsobM6U4EPriatZOr3dBhsSVZIuIUiktyqfS1jhLLtQ7o%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E6%A8%A1%E6%9D%BF%E4%B8%AD%E6%8B%89%E5%8F%96%20Node.js%20%E7%9A%84.gitignore%20%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E7%9A%84%20EditorConfig%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DdGD5%252BEyCTqLfqDSif7%252FHgQ%253D%253D.xgNWBjR6m%252FIUFlG1UmM3CYX2R%252BLXFN531lZhlvCRRWs%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%81Prettier%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3Dn7clHFqLMZZala0zu1JjdQ%253D%253D.jivAg4cL8HkSAhuurMUHrlfhGGILOpveTQR0rjCRXyg%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%92%8C%20ESLint%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DJ4jXEAmmBQ83%252FWSrOtTsAQ%253D%253D.b%252FKC0kT%252FZWZQ9KBItXDMQHWJBzc5aW9hUZsxWHBsMY4%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E4%B8%80%E4%B8%AA%E5%8F%AB%E5%81%9A%20Mrm%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E7%9A%84%20mrm%20%E4%BE%9D%E8%B5%96%E9%A1%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--global%26nbsp%3Bmrm%26nbsp%3Bmrm-task-editorconfig%26nbsp%3Bmrm-task-prettier%26nbsp%3Bmrm-task-eslint%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%B7%BB%E5%8A%A0%20mrm%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beditorconfig%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Bprettier%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beslint%60%3B%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EMrm%20%E8%B4%9F%E8%B4%A3%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%E3%80%82%E5%AE%83%E8%BF%98%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E7%94%9F%E6%88%90%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BB%A5%E7%AC%A6%E5%90%88%E6%88%91%E4%BB%AC%E7%9A%84%E4%B8%AA%E4%BA%BA%E5%81%8F%E5%A5%BD%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20README%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E7%9A%84%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%E8%AF%BB%E5%8F%96%E9%A1%B9%E7%9B%AE%E5%90%8D%E7%A7%B0%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA%E5%9F%BA%E6%9C%AC%E7%9A%84%20Markdown%20%E6%A0%BC%E5%BC%8F%E7%9A%84%20README%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E5%86%99%E5%85%A5%20README.md%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3B%7B%26nbsp%3Bname%3A%26nbsp%3BprojectName%26nbsp%3B%7D%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BreadmeContents%26nbsp%3B%3D%26nbsp%3B%60%23%26nbsp%3B%24%7BprojectName%7D%5Cn...%5Cn%60%3B%5Cnawait%26nbsp%3Bfs.writeFile(%60%24%7BtargetDirectory%7D%2FREADME.md%60%2C%26nbsp%3BreadmeContents)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%9A%B4%E9%9C%B2%E7%9A%84%20fs.writeFile%20%E7%9A%84%20promise%20%E5%8F%98%E9%87%8F%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%8F%90%E4%BA%A4%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%80%E5%90%8E%EF%BC%8C%E6%98%AF%E6%97%B6%E5%80%99%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E7%94%A8%20git%20%E5%88%9B%E5%BB%BA%E7%9A%84%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%E4%BA%86%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Badd%26nbsp%3B.%60%3B%5Cnawait%26nbsp%3B%24%60git%26nbsp%3Bcommit%26nbsp%3B-m%26nbsp%3B%26%2334%3BAdd%26nbsp%3Bproject%26nbsp%3Bskeleton%26%2334%3B%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E6%9D%A1%E6%B6%88%E6%81%AF%EF%BC%8C%E7%A1%AE%E8%AE%A4%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B7%B2%E7%BB%8F%E6%88%90%E5%8A%9F%E5%90%AF%E5%8A%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econsole.log(%5Cn%26nbsp%3B%26nbsp%3Bchalk.green(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60%5C%5Cn%E2%9C%94%EF%B8%8F%26nbsp%3BThe%26nbsp%3Bproject%26nbsp%3B%24%7BprojectName%7D%26nbsp%3Bhas%26nbsp%3Bbeen%26nbsp%3Bsuccessfully%26nbsp%3Bbootstrapped!%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B)%5Cn)%3B%5Cnconsole.log(chalk.green(%60Add%26nbsp%3Ba%26nbsp%3Bgit%26nbsp%3Bremote%26nbsp%3Band%26nbsp%3Bpush%26nbsp%3Byour%26nbsp%3Bchanges.%60))%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%90%AF%E5%8A%A8%E6%96%B0%E9%A1%B9%E7%9B%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bnew-project%5Cn.%2Fbootstrap-tool.mjs%26nbsp%3B--directory%26nbsp%3Bnew-project%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%B9%B6%E8%A7%82%E7%9C%8B%E6%88%91%E4%BB%AC%E6%89%80%E5%81%9A%E7%9A%84%E4%B8%80%E5%88%87%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%80%BB%E7%BB%93%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E5%A6%82%E4%BD%95%E5%9C%A8%20Node.js%20%E4%B8%AD%E5%80%9F%E5%8A%A9%20Google%20%E7%9A%84%20zx%20%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E5%BC%BA%E5%A4%A7%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E4%BA%86%E5%AE%83%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%92%8C%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%81%B5%E6%B4%BB%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%B0%E7%9B%AE%E5%89%8D%E4%B8%BA%E6%AD%A2%EF%BC%8C%E6%88%91%E4%BB%AC%E6%89%80%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%8F%AA%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BC%80%E5%A7%8B%E3%80%82%E8%BF%99%E9%87%8C%E6%9C%89%E4%B8%80%E4%BA%9B%E5%8A%9F%E8%83%BD%E7%82%B9%E5%AD%90%EF%BC%8C%E4%BD%A0%E5%8F%AF%E8%83%BD%E6%83%B3%E5%B0%9D%E8%AF%95%E8%87%AA%E5%B7%B1%E6%B7%BB%E5%8A%A0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E3%80%82%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E8%BF%98%E4%B8%8D%E5%AD%98%E5%9C%A8%EF%BC%8C%E5%88%99%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E5%B9%B6%E8%AF%A2%E9%97%AE%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E6%83%B3%E8%A6%81%E4%B8%BA%E4%BB%96%E4%BB%AC%E5%88%9B%E5%BB%BA%E8%AF%A5%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BC%80%E6%BA%90%E5%8D%AB%E7%94%9F%E3%80%82%E9%97%AE%E9%97%AE%E7%94%A8%E6%88%B7%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E5%9C%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B0%86%E6%98%AF%E5%BC%80%E6%BA%90%E7%9A%84%E9%A1%B9%E7%9B%AE%E3%80%82%E5%A6%82%E6%9E%9C%E6%98%AF%E7%9A%84%E8%AF%9D%EF%BC%8C%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E8%AE%B8%E5%8F%AF%E8%AF%81%E5%92%8C%E8%B4%A1%E7%8C%AE%E8%80%85%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%20GitHub%20%E4%B8%8A%E7%9A%84%E4%BB%93%E5%BA%93%E3%80%82%E6%B7%BB%E5%8A%A0%E4%BD%BF%E7%94%A8%20GitHub%20CLI%20%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%9C%A8%20GitHub%20%E4%B8%8A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E3%80%82%E4%B8%80%E6%97%A6%E7%94%A8%20Git%20%E6%8F%90%E4%BA%A4%E4%BA%86%E5%88%9D%E5%A7%8B%E9%AA%A8%E6%9E%B6%EF%BC%8C%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E6%8E%A8%E9%80%81%E5%88%B0%E8%BF%99%E4%B8%AA%E4%BB%93%E5%BA%93%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E5%9C%A8%20GitHub%20%E4%B8%8A%E6%89%BE%E5%88%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E8%AF%91%E8%87%AA%EF%BC%9A%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5Z%252ByLQNgua%252FY5gnguxXllg%253D%253D.SeNINYETng%252BH6uZupDjhsYNRqM5GWB5jXVDlvMdMqsO9u3CmWfwe8DwT48iAvK%252Fsm8pflQ8jbxHc1sB281%252B6pA%253D%253D%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%9C%E8%80%85%EF%BC%9A%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3ESimon%20Plenderleith%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BB%A5%E4%B8%8A%E5%B0%B1%E6%98%AF%E6%9C%AC%E6%96%87%E7%9A%84%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9%E3%80%82%E5%A6%82%E6%9E%9C%E5%AF%B9%E4%BD%A0%E6%9C%89%E6%89%80%E5%B8%AE%E5%8A%A9%EF%BC%8C%E6%AC%A2%E8%BF%8E%E7%82%B9%E8%B5%9E%E3%80%81%E6%94%B6%E8%97%8F%E3%80%81%E8%BD%AC%E5%8F%91~%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Chr%3E%22%2C%22imageList%22%3A%5B%5D%2C%22mediaInfo%22%3A%7B%22userId%22%3A%22MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH%22%2C%22unsafeUserId%22%3A%224288553596503552%22%2C%22name%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22avatarUrl%22%3A%22https%3A%2F%2Fsf3-cdn-tos.toutiaostatic.com%2Fimg%2Fuser-avatar%2Fc14bb151d3505084033c82ee8238acde~300x300.image%22%2C%22description%22%3A%22%E6%AC%A2%E8%BF%8E%E5%85%B3%E6%B3%A8VX%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22userVerified%22%3A1%7D%2C%22seoTDK%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC-%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1%22%2C%22description%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22keywords%22%3A%22%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%2CNode.js%2CGoogle%2CJavaScript%2CBash%2CTypeScript%2CZsh%2CGitHub%2C%E7%BE%8E%E5%A5%BD%EF%BC%8C%E4%B8%80%E7%9B%B4%E5%9C%A8%E8%BA%AB%E8%BE%B9%22%2C%22publishTimestamp%22%3A%221678237205%22%2C%22modifiedTimestamp%22%3A%221685548306%22%7D%2C%22cover%22%3A%22https%3A%2F%2Fp3-sign.toutiaoimg.com%2Flarge%2Ftos-cn-i-qvj2lq49k0%2F7894dd4439eb4e78ad35208f496e841a%3F_iz%3D58558%26from%3Darticle.pc_detail%26x-expires%3D1690103402%26x-signature%3D5z%252FNWR2V4o%252B5W0fhczXkGuaSyYE%253D%22%2C%22logId%22%3A%222023071617100290B65219A60FE2C10ABA%22%2C%22sylpageConfig%22%3A%7B%22card%22%3A%7B%22id%22%3A%22%22%7D%7D%2C%22identity%22%3A%7B%22web_id%22%3A%227235169635611018810%22%2C%22user_is_login%22%3Afalse%7D%2C%22abtestInfo%22%3A%7B%22rsp_type%22%3A5%2C%22version_name%22%3A%224938400%22%2C%22parameters%22%3A%7B%22filter%22%3A%7B%22debug_enable_pc_small_video%22%3Afalse%2C%22enable_pc_small_video%22%3Atrue%7D%2C%22home_nav_conf%22%3A%7B%22dcd_out%22%3A1%7D%2C%22optimus%22%3A%7B%22rule_rank_rules%22%3A%22ranking_rule_list%20%7B%5Cn%20%20id%3A%201221233%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2212123%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%202%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%2020458%5Cn%20%20priority%3A%203%5Cn%20%20enabled%3A%20true%5Cn%20%20category%3A%2020458%5Cn%20%20type%3A%20WINDOW%5Cn%20%20window_rule%20%7B%5Cn%20%20%20%20type%3A%20SLIDE%5Cn%20%20%20%20size%3A%203%5Cn%20%20%20%20max%3A%201%5Cn%20%20%7D%5Cn%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%201111024%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2211024%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%206%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%22%7D%2C%22page_upgrade%22%3A%7B%22new_profile%22%3Atrue%2C%22video_double_column%22%3Atrue%7D%2C%22recall%22%3A%7B%22debug_filter_reason_list%22%3A%5B%5D%2C%22debug_recall_reason_list%22%3A%5B70%2C71%2C72%2C73%2C80%2C83%5D%2C%22enable_debug_filter_reason%22%3Atrue%2C%22enable_debug_recall_reason%22%3Atrue%2C%22friend_feed%22%3A%7B%22control_nums%22%3A1500%2C%22count%22%3A1000%2C%22enable%22%3Atrue%2C%22enable_cpp_friend_feed%22%3Atrue%2C%22enable_friend_feed_container_filter%22%3Atrue%2C%22enable_group_status_filter%22%3Atrue%2C%22params%22%3A%7B%7D%2C%22top_k%22%3A10%2C%22use_new_friend_recall%22%3Atrue%2C%22valid_group_source%22%3A%5B2%2C5%2C15%2C23%2C16%2C19%2C21%2C132%5D%2C%22weight%22%3A20%7D%7D%2C%22seraph%22%3A%7B%22rule_rank_rules_pc_small%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20%20%20%20%20%20id%3A%2022124%20%5Cn%20%20%20%20%20%20%20%20%20priority%3A%200%20%5Cn%20%20%20%20%20%20%20%20%20tags%3A%20%5C%2222124%5C%22%20%5Cn%20%20%20%20%20%20%20%20%20enabled%3A%20true%20%5Cn%20%20%20%20%20%20%20%20%20type%3A%20CARD%20%5Cn%20%20%20%20%20%20%20%20%20card_rule%20%7B%20%5Cn%20%20%20%20%20%20%20%20%20size%3A%206%20%5Cn%20%20%20%20%20%20%20%20%20num_cards%3A%201%5Cn%20%20%20%20%20%20%20%20%20type%3A%20SAME_SLOT%20%5Cn%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%22%2C%22rule_rank_rules_pc_small_window%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20id%3A%20222124%5Cn%20%20%20priority%3A%200%5Cn%20%20%20tags%3A%20%5C%2222124%5C%22%5Cn%20%20%20%20enabled%3A%20false%5Cn%20%20%20%20type%3A%20WINDOW%5Cn%20%20%20%20window_rule%20%7B%5Cn%20%20%20type%3A%20SLIDE%20%5Cn%20%20%20size%3A%2012%20%5Cn%20%20%20max%3A%206%20%5Cn%20%20%20%7D%5Cn%20%20%20%7D%22%7D%2C%22small_sort%22%3A%7B%22enable_filter_zhanwai%22%3Atrue%2C%22filter_genre_plog%22%3Afalse%2C%22filter_genre_small%22%3Afalse%2C%22skip_small_app_version_filter%22%3Afalse%2C%22skip_small_genre_filter%22%3Afalse%7D%2C%22sort%22%3A%7B%22allowed_ticai%22%3A%5B%22forum_post%22%2C%22pgc_text%22%2C%22pgc_video%22%2C%22short_video%22%5D%2C%22enable_optimus_gen_pc_mv_card%22%3Atrue%2C%22enable_optimus_gen_pc_sv_card%22%3Atrue%2C%22enable_pc_skip_app_smallvideo_card%22%3Atrue%7D%2C%22ugc_sort%22%3A%7B%22expore_smallvideo%22%3Atrue%7D%2C%22video_channel%22%3A%7B%22use_feed%22%3A1%2C%22rank%22%3A5%7D%7D%2C%22env_flag%22%3A0%7D%2C%22localCityInfo%22%3A%7B%22name%22%3A%22%E8%A5%84%E9%98%B3%22%2C%22code%22%3A%22420600%22%2C%22channelId%22%3A3202181326%7D%2C%22voteLink%22%3A%5B%7B%22keyword%22%3A%22%E6%9C%AB%E4%B8%96%E9%87%8D%E7%94%9F%EF%BC%8C%E6%88%91%E6%8A%A2%E4%BA%86%E5%A5%B3%E4%B8%BB%E7%9A%84%E9%87%91%E6%89%8B%E6%8C%87%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7045105728742231079%22%7D%2C%7B%22keyword%22%3A%22%E4%BA%BA%E5%9C%A8%E6%B5%B7%E8%B4%BC%3A%E6%88%91%E6%88%90%E4%B8%BA%E4%BA%86%E6%B5%B7%E5%86%9B%E5%A5%B3%E7%8E%8B%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7070145477789879300%22%7D%2C%7B%22keyword%22%3A%22%E6%B2%A1%E7%9E%8E%E7%9C%BC%E4%B8%89%E5%B9%B4%EF%BC%8C%E4%BD%86%E6%88%91%E7%9A%84%E5%AD%A6%E7%94%9F%E4%B8%8D%E6%98%AF%E4%BA%BA%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7118385133568134175%22%7D%2C%7B%22keyword%22%3A%22%E7%9C%9F%E5%8D%83%E9%87%91%E4%BB%8E%E4%BF%AE%E7%9C%9F%E7%95%8C%E5%9B%9E%E6%9D%A5%E4%BA%86%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F6983183491827502094%22%7D%2C%7B%22keyword%22%3A%22%E5%BC%82%E4%B8%96%E7%9B%B8%E9%81%87%E5%B0%BD%E4%BA%AB%E7%A4%BE%E6%AD%BB%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F583844%22%7D%2C%7B%22keyword%22%3A%22python%20ols%E5%9B%9E%E5%BD%92%E5%88%86%E6%9E%90%E7%BB%93%E6%9E%9C%E6%80%8E%E4%B9%88%E7%9C%8B%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131680%22%7D%2C%7B%22keyword%22%3A%22%E7%A5%9E%E5%A5%87%E5%AE%9D%E8%B4%9D%E4%B9%8B%E5%85%A8%E8%83%BD%E6%8E%8C%E9%97%A8%E4%BA%BA%E8%87%B4%E5%85%89%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F738595%22%7D%2C%7B%22keyword%22%3A%22%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3java8%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131722%22%7D%2C%7B%22keyword%22%3A%22linux%20mysql%20%E6%97%A5%E5%BF%97%E6%B8%85%E7%90%86%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1182964%22%7D%2C%7B%22keyword%22%3A%22%E6%88%91%E5%9C%A8%E5%AE%9D%E5%8F%AF%E6%A2%A6%E4%B8%96%E7%95%8C%E6%88%90%E4%B8%BA%E7%AC%AC%E4%B8%80%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F188604%22%7D%5D%2C%22grSensitive%22%3Afalse%2C%22showResearch%22%3Afalse%2C%22blockVisibility%22%3A%7B%22hotBoard%22%3Atrue%2C%22hotVideo%22%3Atrue%2C%22relatedRecommend%22%3Atrue%7D%2C%22isGreyTheme%22%3Afalse%2C%22searchBot%22%3Anull%7D%7D
ls`;
下面是执行上述代码的输出:
nbsp;ls
bootstrap-tool
hello-world
node_modules
package.json
README.md
typescript
上面的例子中的 JavaScript 语法可能看起来有点古怪。它使用了一种叫做带标签的模板字符串 https://link.segmentfault.com/?enc=VUkodq5er%2Fynbhfl3MUQZA%3D%3D.%2Flx6oaDCVK4XuYyYLqvDi2QMWjCwW1jKBvNQgfaGG0AVwpl7I2CYD4sJYHuonDSA6jj1qSSypc0aGVO%2BYuBMUiibG6pBkVwusg%2Bai1hbMXetqlwMTWVUEAbtabMCbXIs 的语言特性。它在功能上与编写 await $("ls")相同。
谷歌的 zx 提供了其他几个实用功能,使编写 shell 脚本更容易。比如:
- cd()。允许我们更改当前工作目录。
- question()。这是 Node.js readline 模块的包装器。它使提示用户输入变得简单明了。
除了 zx 提供的实用功能外,它还为我们提供了几个流行的库,比如:
chalk。 https://link.segmentfault.com/?enc=%2FL15Y8OQNrp05Scx6N4iaQ%3D%3D.r8AZkfcE1Ye%2BlNUznFA9RNJMhfyM0lttTiD0TmqjJQwoi7zjQjs5YiLjI%2FWDEooY 这个库允许我们为脚本的输出添加颜色。
minimist。 https://link.segmentfault.com/?enc=5tMQ5d6qJ4STEHZeuiN0MA%3D%3D.x9GPOpXVZp5TGKknZCkwA10QP%2Ftw%2BW7fwnpYGg%2BnlJPJLK3RboT3jqy5WuPLFwPZ 一个解析命令行参数的库。然后它们在 argv 对象下被暴露出来。
fetch。 https://link.segmentfault.com/?enc=71LC44tCu%2FZoLOY2B7MfuA%3D%3D.GO%2FMi37T0KTmj8UXau9xdFUBiIk1I%2F8M%2FHk2hZYrhRb%2Fd3Vl0bzlr05hanNxzuVb Fetch API 的 Node.js 实现。我们可以用它来进行 HTTP 请求。
fs-extra。 https://link.segmentfault.com/?enc=cPZzXniTRFJdbq87FdwLWw%3D%3D.IsmhSUEjIcZAqw8FDidbUnNhhIVPT1gsFSo%2BchiXCAs9AaxUVT%2FEgbIvswUDVmK2 一个暴露 Node.js 核心 fs 模块的库,以及一些额外的方法,使其更容易与文件系统一起工作。
现在我们知道了 zx 给了我们什么,让我们用它创建第一个 shell 脚本。
zx 如何使用
首先,我们先创建一个新项目:
mkdirzx-shell-scripts
cdzx-shell-scripts
npminit--yes
然后安装 zx 库:
npminstall--save-devzx
注意:zx 的文档建议用 npm 全局安装该库。通过将其安装为我们项目的本地依赖,我们可以确保 zx 总是被安装,并控制 shell 脚本使用的版本。
顶级 await
为了在 Node.js 中使用顶级 await,也就是 await 位于 async 函数的外部,我们需要在 ES 模块的模式下编写代码,该模式支持顶级 await。
我们可以通过在 package.json 中添加 "type": "module" 怎么怎么来表明项目中的所有模块都是 ES 模块。或者我们可以将单个脚本的文件扩展名设置为 .mjs 。在本文的例子中,我们将使用 .mjs 文件扩展名。
运行命令并捕获输出
创建一个新脚本,将其命名为 hello-world.mjs 。我们将添加一个 Shebang 行,它告诉操作系统(OS)的内核要用 node 程序运行该脚本:
#!/usr/bin/envnode
然后,我们添加一些代码,使用 zx 来运行命令。
在下面的代码中,我们运行命令执行 ls 程序。ls 程序将列出当前工作目录(脚本所在的目录)中的文件。我们将从命令的进程中捕获标准输出,将其存储在一个变量中,然后打印到终端:
//hello-world.mjs
import{nbsp;}from"zx";
constoutput=(await
社区精选|如何使用 zx 编写 shell 脚本-*今条头日**
{"@context":"https://schema.org","@type":"NewsArticle","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.toutiao.com/article/7207743318715793920/"},"headline":"社区精选|如何使用 zx 编写 shell 脚本","description":"在这篇文章中,我们将学习谷歌的 zx 库提供了什么,以及我们如何使用它来用 Node.js 编写 shell 脚本。","image":[],"datePublished":"2023-03-08T01:00:05.000Z","dateModified":"2023-05-31T15:51:46.000Z","author":{"@type":"Person","name":"计算科学与信息化","url":"https://www.toutiao.com/c/user/token/MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH/"},"publisher":{"@type":"Organization","name":"*今条头日**","logo":{"@type":"ImageObject","url":"https://lf3-static.bytednsdoc.com/obj/eden-cn/uhbfnupkbps/216.png"}}}
!function(r,e,t,n,s,a,o,i,c,l,d,p,m,f){a="precollect",o="getAttribute",i="addEventListener",(l=function(e){(d=[].slice.call(arguments)).push(Date.now(),location.href),(e==a?l.p.a:l.q).push(d)}).q=[],l.p={a:[]},r[s]=l,(p=document.createElement("script")).src=t+"?bid=toutiao_web_pc&globalName="+s,p.crossOrigin=0
window.Slardar&&window.Slardar("init",{bid:"toutiao_web_pc",pid:"news_article_detail",release:"1.0.0.1822",env:"online",sample:{sample_rate:1},plugins:{ajax:{ignoreUrls:["mcs.snssdk.com","mcs.zijieapi.com","i.snssdk.com","verify.snssdk.com","vcs.snssdk.com","mon.zijieapi.com","mon.snssdk.com"]},pageview:{routeMode:"manual"},blankScreen:{rootSelector:"#root"}}})
!function(n,t){if(n.LogAnalyticsObject=t,!n[t]){function c(){c.q.push(arguments)}c.q=c.q||[],n[t]=c}n[t].l=+new Date}(window,"collectEvent")
window.collectEvent("usePlugin","autotrack"),window.collectEvent("usePlugin","stay"),window.collectEvent("init",{app_id:24,channel:"cn",autotrack:{custom:"tea",text:!0},enable_stay_duration:!0}),window.collectEvent("config",{evtParams:{url:window.location.href,screen_width:window.screen.width,screen_height:window.screen.height,screen_inner_width:window.innerWidth,screen_inner_height:window.innerHeight}})
window.byted_acrawler&&window.byted_acrawler.init({aid:24,dfp:!0})
window.TTGCaptcha&&window.TTGCaptcha.init({commonOptions:{aid:24,iid:"0",did:"0"}})
window.secsdk&&window.secsdk.csrf.setProtectedHost({"www.toutiao.com":{GET:[],POST:[/^\/api\/pc\/user\/fans_digg/,/^\/api\/pc\/user\/delete/,/^\/api\/pc\/user\/follow/,/^\/c\/ugc\/content\/repost/,/^\/group\/repin/,/^\/group\/unrepin/,/^\/api\/pc\/user\/stick/,/^\/api\/pc\/user\/unstick/,/^\/c\/user\/unfollow/,/^\/wenda\/v5\/interact\/followanswer/,/^\/wenda\/v5\/interact\/followquestion/,/^\/wenda\/v5\/interact\/digganswer/,/^\/wenda\/v5\/interact\/deleteanswer/,/^\/user_data\/batch_action/],PUT:[],PATCH:[],DELETE:[]}})
"undefined"!=typeof window&&"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("/sw.js").catch(function(e){window.Slardar&&window.Slardar("emit","counter",{name:"sw-register-error",value:1})})})
function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-QEHZPBE5HH")
%7B%22data%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%22%2C%22abstract%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22articleType%22%3A%22article%22%2C%22itemId%22%3A%227207743318715793920%22%2C%22groupId%22%3A%227207743318715793920%22%2C%22groupSource%22%3A2%2C%22isOriginal%22%3Afalse%2C%22banComment%22%3Afalse%2C%22publishTime%22%3A%222023-03-08%2009%3A00%22%2C%22source%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22tag%22%3A%22technique%22%2C%22mediaSite%22%3Anull%2C%22pathname%22%3A%22%2Farticle%2F7207743318715793920%2F%22%2C%22useCandle%22%3Afalse%2C%22isExclusive%22%3Afalse%2C%22favorite%22%3Afalse%2C%22relation%22%3A%7B%22isFollowing%22%3Afalse%2C%22isFollowed%22%3Afalse%7D%2C%22likeData%22%3A%7B%22userLikeStatus%22%3A0%2C%22count%22%3A1%7D%2C%22isSelf%22%3Afalse%2C%22content%22%3A%22%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%89%8D%E8%A8%80%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E6%9D%A5%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E5%BC%95%E5%AF%BC%E9%85%8D%E7%BD%AE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E7%BC%96%E5%86%99%20Shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E9%97%AE%E9%A2%98%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%94%B1%20Bash%20%E6%88%96%E8%80%85%20zsh%20%E6%89%A7%E8%A1%8C%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%98%AF%E8%87%AA%E5%8A%A8%E5%8C%96%E9%87%8D%E5%A4%8D%E4%BB%BB%E5%8A%A1%E7%9A%84%E5%A5%BD%E6%96%B9%E6%B3%95%E3%80%82Node.js%20%E4%BC%BC%E4%B9%8E%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E7%90%86%E6%83%B3%E9%80%89%E6%8B%A9%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E8%AE%B8%E5%A4%9A%E6%A0%B8%E5%BF%83%E6%A8%A1%E5%9D%97%EF%BC%8C%E5%B9%B6%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E5%AF%BC%E5%85%A5%E4%BB%BB%E4%BD%95%E6%88%91%E4%BB%AC%E9%80%89%E6%8B%A9%E7%9A%84%E5%BA%93%E3%80%82%E5%AE%83%E8%BF%98%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%AE%BF%E9%97%AE%20JavaScript%20%E6%8F%90%E4%BE%9B%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E5%92%8C%E5%86%85%E7%BD%AE%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E4%BD%A0%E5%B0%9D%E8%AF%95%E7%BC%96%E5%86%99%E8%BF%90%E8%A1%8C%E5%9C%A8%20Node.js%20%E4%B8%AD%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E4%BD%A0%E4%BC%9A%E5%8F%91%E7%8E%B0%E8%BF%99%E6%B2%A1%E6%9C%89%E4%BD%A0%E6%83%B3%E8%B1%A1%E4%B8%AD%E7%9A%84%E9%82%A3%E4%B9%88%E9%A1%BA%E5%88%A9%E3%80%82%E4%BD%A0%E9%9C%80%E8%A6%81%E4%B8%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%BC%96%E5%86%99%E7%89%B9%E6%AE%8A%E7%9A%84%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%EF%BC%8C%E6%B3%A8%E6%84%8F%E8%BD%AC%E4%B9%89%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%EF%BC%8C%E7%84%B6%E5%90%8E%E6%9C%80%E7%BB%88%E4%B8%8E%20stdout%EF%BC%88%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%89%E5%92%8C%20stderr%EF%BC%88%E6%A0%87%E5%87%86%E9%94%99%E8%AF%AF%EF%BC%89%E6%89%93%E4%BA%A4%E9%81%93%E3%80%82%E8%BF%99%E4%B8%8D%E6%98%AF%E7%89%B9%E5%88%AB%E7%9B%B4%E8%A7%82%EF%BC%8C%E8%80%8C%E4%B8%94%E4%BC%9A%E4%BD%BF%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E7%9B%B8%E5%BD%93%E7%AC%A8%E6%8B%99%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EBash%20shell%20%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E6%99%AE%E9%81%8D%E9%80%89%E6%8B%A9%E3%80%82%E4%B8%8D%E9%9C%80%E8%A6%81%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%E6%9D%A5%E5%A4%84%E7%90%86%E5%AD%90%E8%BF%9B%E7%A8%8B%EF%BC%8C%E8%80%8C%E4%B8%94%E5%AE%83%E6%9C%89%E5%86%85%E7%BD%AE%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E6%9D%A5%E5%A4%84%E7%90%86%20stdout%20%E5%92%8C%20stderr%E3%80%82%E4%BD%86%E6%98%AF%E7%94%A8%20Bash%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E4%B9%9F%E4%B8%8D%E6%98%AF%E9%82%A3%E4%B9%88%E5%AE%B9%E6%98%93%E3%80%82%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9B%B8%E5%BD%93%E6%B7%B7%E4%B9%B1%EF%BC%8C%E4%BD%BF%E5%BE%97%E5%AE%83%E5%AE%9E%E7%8E%B0%E9%80%BB%E8%BE%91%EF%BC%8C%E6%88%96%E8%80%85%E5%A4%84%E7%90%86%E8%AF%B8%E5%A6%82%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E7%9A%84%E4%BA%8B%E6%83%85%E9%9D%9E%E5%B8%B8%E5%9B%B0%E9%9A%BE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%9C%89%E5%8A%A9%E4%BA%8E%E8%AE%A9%E4%BD%BF%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E9%AB%98%E6%95%88%E5%92%8C%E8%88%92%E9%80%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BE%80%E4%B8%8B%E9%98%85%E8%AF%BB%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%E9%9C%80%E8%A6%81%E9%81%B5%E5%BE%AA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%90%86%E6%83%B3%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E4%BD%A0%E5%BA%94%E8%AF%A5%E7%86%9F%E6%82%89%20JavaScript%20%E5%92%8C%20Node.js%20%E7%9A%84%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E9%80%82%E5%BA%94%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20Node.js%20%26gt%3B%3D%20v14.13.1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cbr%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E4%BB%8E%20GitHub%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DysCUhsc%252BhqUmtqCo55t8jw%253D%253D.aWhjUaPje6eTlkcFFdhW%252FeIVYyAz5G%252FoPbGuXjsxlpcJphMKguwz3NoHWQ9o2vDb47Nfnm9kpIP6Ol5r6Euc8A%253D%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E8%8E%B7%E5%BE%97%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E8%BF%90%E4%BD%9C%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EGoogle%20%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%88%9B%E5%BB%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%A4%84%E7%90%86%E8%BF%99%E4%BA%9B%E8%BF%9B%E7%A8%8B%E7%9A%84%20stdout%20%E5%92%8C%20stderr%20%E7%9A%84%E5%87%BD%E6%95%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E7%9A%84%E4%B8%BB%E8%A6%81%E5%87%BD%E6%95%B0%E6%98%AF%24%E5%87%BD%E6%95%B0%E3%80%82%E4%B8%8B%E9%9D%A2%E6%98%AF%E5%AE%83%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AE%9E%E9%99%85%E4%BE%8B%E5%AD%90%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnawait%26nbsp%3B%24%60ls%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E6%89%A7%E8%A1%8C%E4%B8%8A%E8%BF%B0%E4%BB%A3%E7%A0%81%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnbootstrap-tool%5Cnhello-world%5Cnnode_modules%5Cnpackage.json%5CnREADME.md%5Cntypescript%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%E7%9A%84%20JavaScript%20%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9C%8B%E8%B5%B7%E6%9D%A5%E6%9C%89%E7%82%B9%E5%8F%A4%E6%80%AA%E3%80%82%E5%AE%83%E4%BD%BF%E7%94%A8%E4%BA%86%E4%B8%80%E7%A7%8D%E5%8F%AB%E5%81%9A%E5%B8%A6%E6%A0%87%E7%AD%BE%E7%9A%84%E6%A8%A1%E6%9D%BF%E5%AD%97%E7%AC%A6%E4%B8%B2%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DVUkodq5er%252Fynbhfl3MUQZA%253D%253D.%252Flx6oaDCVK4XuYyYLqvDi2QMWjCwW1jKBvNQgfaGG0AVwpl7I2CYD4sJYHuonDSA6jj1qSSypc0aGVO%252BYuBMUiibG6pBkVwusg%252Bai1hbMXetqlwMTWVUEAbtabMCbXIs%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E3%80%82%E5%AE%83%E5%9C%A8%E5%8A%9F%E8%83%BD%E4%B8%8A%E4%B8%8E%E7%BC%96%E5%86%99%20await%20%24(%26%2334%3Bls%26%2334%3B)%E7%9B%B8%E5%90%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%85%B6%E4%BB%96%E5%87%A0%E4%B8%AA%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%EF%BC%8C%E4%BD%BF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E6%9B%B4%E5%AE%B9%E6%98%93%E3%80%82%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ecd()%E3%80%82%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E6%9B%B4%E6%94%B9%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Equestion()%E3%80%82%E8%BF%99%E6%98%AF%20Node.js%20readline%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%8C%85%E8%A3%85%E5%99%A8%E3%80%82%E5%AE%83%E4%BD%BF%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E5%8F%98%E5%BE%97%E7%AE%80%E5%8D%95%E6%98%8E%E4%BA%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%99%A4%E4%BA%86%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%A4%96%EF%BC%8C%E5%AE%83%E8%BF%98%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E5%87%A0%E4%B8%AA%E6%B5%81%E8%A1%8C%E7%9A%84%E5%BA%93%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Echalk%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D%252FL15Y8OQNrp05Scx6N4iaQ%253D%253D.r8AZkfcE1Ye%252BlNUznFA9RNJMhfyM0lttTiD0TmqjJQwoi7zjQjs5YiLjI%252FWDEooY%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%99%E4%B8%AA%E5%BA%93%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E4%B8%BA%E8%84%9A%E6%9C%AC%E7%9A%84%E8%BE%93%E5%87%BA%E6%B7%BB%E5%8A%A0%E9%A2%9C%E8%89%B2%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Eminimist%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5tMQ5d6qJ4STEHZeuiN0MA%253D%253D.x9GPOpXVZp5TGKknZCkwA10QP%252Ftw%252BW7fwnpYGg%252BnlJPJLK3RboT3jqy5WuPLFwPZ%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E4%B8%AA%E8%A7%A3%E6%9E%90%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E7%9A%84%E5%BA%93%E3%80%82%E7%84%B6%E5%90%8E%E5%AE%83%E4%BB%AC%E5%9C%A8%20argv%20%E5%AF%B9%E8%B1%A1%E4%B8%8B%E8%A2%AB%E6%9A%B4%E9%9C%B2%E5%87%BA%E6%9D%A5%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efetch%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D71LC44tCu%252FZoLOY2B7MfuA%253D%253D.GO%252FMi37T0KTmj8UXau9xdFUBiIk1I%252F8M%252FHk2hZYrhRb%252Fd3Vl0bzlr05hanNxzuVb%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EFetch%20API%20%E7%9A%84%20Node.js%20%E5%AE%9E%E7%8E%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E8%BF%9B%E8%A1%8C%20HTTP%20%E8%AF%B7%E6%B1%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efs-extra%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DcPZzXniTRFJdbq87FdwLWw%253D%253D.IsmhSUEjIcZAqw8FDidbUnNhhIVPT1gsFSo%252BchiXCAs9AaxUVT%252FEgbIvswUDVmK2%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%B8%80%E4%B8%AA%E6%9A%B4%E9%9C%B2%20Node.js%20%E6%A0%B8%E5%BF%83%20fs%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%BA%93%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B9%E6%B3%95%EF%BC%8C%E4%BD%BF%E5%85%B6%E6%9B%B4%E5%AE%B9%E6%98%93%E4%B8%8E%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%80%E8%B5%B7%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9F%A5%E9%81%93%E4%BA%86%20zx%20%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E4%BB%80%E4%B9%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E7%94%A8%E5%AE%83%E5%88%9B%E5%BB%BA%E7%AC%AC%E4%B8%80%E4%B8%AA%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bzx-shell-scripts%5Cncd%26nbsp%3Bzx-shell-scripts%5Cnnpm%26nbsp%3Binit%26nbsp%3B--yes%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%AE%89%E8%A3%85%20zx%20%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bzx%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E7%9A%84%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E7%94%A8%20npm%20%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E8%AF%A5%E5%BA%93%E3%80%82%E9%80%9A%E8%BF%87%E5%B0%86%E5%85%B6%E5%AE%89%E8%A3%85%E4%B8%BA%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%A1%AE%E4%BF%9D%20zx%20%E6%80%BB%E6%98%AF%E8%A2%AB%E5%AE%89%E8%A3%85%EF%BC%8C%E5%B9%B6%E6%8E%A7%E5%88%B6%20shell%20%E8%84%9A%E6%9C%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E7%89%88%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A1%B6%E7%BA%A7%20await%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%20Node.js%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E9%A1%B6%E7%BA%A7%20await%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%20await%20%E4%BD%8D%E4%BA%8E%20async%20%E5%87%BD%E6%95%B0%E7%9A%84%E5%A4%96%E9%83%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%9C%A8%20ES%20%E6%A8%A1%E5%9D%97%E7%9A%84%E6%A8%A1%E5%BC%8F%E4%B8%8B%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%EF%BC%8C%E8%AF%A5%E6%A8%A1%E5%BC%8F%E6%94%AF%E6%8C%81%E9%A1%B6%E7%BA%A7%20await%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%20package.json%20%E4%B8%AD%E6%B7%BB%E5%8A%A0%20%26%2334%3Btype%26%2334%3B%3A%20%26%2334%3Bmodule%26%2334%3B%20%E6%80%8E%E4%B9%88%E6%80%8E%E4%B9%88%E6%9D%A5%E8%A1%A8%E6%98%8E%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%A8%A1%E5%9D%97%E9%83%BD%E6%98%AF%20ES%20%E6%A8%A1%E5%9D%97%E3%80%82%E6%88%96%E8%80%85%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%B0%86%E5%8D%95%E4%B8%AA%E8%84%9A%E6%9C%AC%E7%9A%84%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E8%AE%BE%E7%BD%AE%E4%B8%BA%20.mjs%20%E3%80%82%E5%9C%A8%E6%9C%AC%E6%96%87%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20.mjs%20%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E5%B9%B6%E6%8D%95%E8%8E%B7%E8%BE%93%E5%87%BA%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B0%86%E5%85%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world.mjs%20%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%AE%83%E5%91%8A%E8%AF%89%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%88OS%EF%BC%89%E7%9A%84%E5%86%85%E6%A0%B8%E8%A6%81%E7%94%A8%20node%20%E7%A8%8B%E5%BA%8F%E8%BF%90%E8%A1%8C%E8%AF%A5%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%BA%9B%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%BD%BF%E7%94%A8%20zx%20%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8B%E9%9D%A2%E7%9A%84%E4%BB%A3%E7%A0%81%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%20ls%20%E7%A8%8B%E5%BA%8F%E3%80%82ls%20%E7%A8%8B%E5%BA%8F%E5%B0%86%E5%88%97%E5%87%BA%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%88%E8%84%9A%E6%9C%AC%E6%89%80%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%EF%BC%89%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BB%8E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BF%9B%E7%A8%8B%E4%B8%AD%E6%8D%95%E8%8E%B7%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B0%86%E5%85%B6%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E7%84%B6%E5%90%8E%E6%89%93%E5%8D%B0%E5%88%B0%E7%BB%88%E7%AB%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cnconsole.log(output)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E6%8A%8A%2Fusr%2Fbin%2Fenv%20zx%20%E6%94%BE%E5%9C%A8%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E7%9A%84%20shebang%20%E8%A1%8C%E4%B8%AD%EF%BC%8C%E4%BD%86%E6%88%91%E4%BB%AC%E7%94%A8%2Fusr%2Fbin%2Fenv%20node%20%E4%BB%A3%E6%9B%BF%E3%80%82%E8%BF%99%E6%98%AF%E5%9B%A0%E4%B8%BA%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%20zx%EF%BC%8C%E5%B9%B6%E4%BD%9C%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E6%98%8E%E7%A1%AE%E5%9C%B0%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E6%83%B3%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%E3%80%82%E8%BF%99%E6%9C%89%E5%8A%A9%E4%BA%8E%E6%98%8E%E7%A1%AE%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E4%BE%9D%E8%B5%96%E6%9D%A5%E8%87%AA%E5%93%AA%E9%87%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%20chmod%20%E6%9D%A5%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E5%A6%82%E4%B8%8B%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%88ls%EF%BC%89%E8%A2%AB%E5%8C%85%E5%90%AB%E5%9C%A8%E8%BE%93%E5%87%BA%E4%B8%AD%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%E6%98%BE%E7%A4%BA%E4%B8%A4%E6%AC%A1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BE%93%E5%87%BA%E7%9A%84%E6%9C%AB%E5%B0%BE%E5%A4%9A%E4%BA%86%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E9%BB%98%E8%AE%A4%E4%BB%A5%20verbose%20%E6%A8%A1%E5%BC%8F%E8%BF%90%E8%A1%8C%E3%80%82%E5%AE%83%E5%B0%86%E8%BE%93%E5%87%BA%E4%BD%A0%E4%BC%A0%E9%80%92%E7%BB%99%24%E5%87%BD%E6%95%B0%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%90%8C%E6%97%B6%E4%B9%9F%E8%BE%93%E5%87%BA%E8%AF%A5%E5%91%BD%E4%BB%A4%E7%9A%84%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%E8%BF%90%E8%A1%8C%20ls%20%E5%91%BD%E4%BB%A4%E5%89%8D%E5%8A%A0%E5%85%A5%E4%BB%A5%E4%B8%8B%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E6%9D%A5%E6%94%B9%E5%8F%98%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A4%A7%E5%A4%9A%E6%95%B0%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%A6%82%20ls%EF%BC%8C%E4%BC%9A%E5%9C%A8%E5%85%B6%E8%BE%93%E5%87%BA%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E5%AD%97%E7%AC%A6%EF%BC%8C%E4%BB%A5%E4%BD%BF%E8%BE%93%E5%87%BA%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E6%9B%B4%E6%98%93%E8%AF%BB%E3%80%82%E8%BF%99%E5%AF%B9%E5%8F%AF%E8%AF%BB%E6%80%A7%E6%9C%89%E5%A5%BD%E5%A4%84%EF%BC%8C%E4%BD%86%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E8%A6%81%E5%B0%86%E8%BE%93%E5%87%BA%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E6%9C%89%E8%BF%99%E4%B8%AA%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B0%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%20JavaScript%20String%23trim()%E5%87%BD%E6%95%B0%E6%8A%8A%E5%AE%83%E5%8E%BB%E6%8E%89%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E-%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cn%2B%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout.trim()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%86%8D%E6%AC%A1%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E7%BB%93%E6%9E%9C%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%A5%BD%E5%BE%88%E5%A4%9A%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ehello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%BC%95%E5%85%A5%20TypeScript%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E6%83%B3%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%BC%96%E5%86%99%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%BE%AE%E5%B0%8F%E7%9A%84%E5%8C%BA%E5%88%AB%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%8A%A0%E4%BB%A5%E8%AF%B4%E6%98%8E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9ATypeScript%20%E7%BC%96%E8%AF%91%E5%99%A8%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E5%AE%83%E5%A6%82%E4%BD%95%E7%BC%96%E8%AF%91%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%E8%80%83%E8%99%91%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E4%B8%8B%E9%9D%A2%E7%9A%84%20TypeScript%20%E9%85%8D%E7%BD%AE%E5%92%8C%E4%BB%A3%E7%A0%81%E6%98%AF%E4%B8%BA%E4%BA%86%E5%9C%A8%E5%A4%A7%E5%A4%9A%E6%95%B0%20TypeScript%20%E7%89%88%E6%9C%AC%E4%B8%8B%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E5%AE%89%E8%A3%85%E9%9C%80%E8%A6%81%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E7%9A%84%E4%BE%9D%E8%B5%96%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Btypescript%26nbsp%3Bts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ets-node%20%E5%8C%85%E6%8F%90%E4%BE%9B%E4%BA%86%E4%B8%80%E4%B8%AA%20TypeScript%20%E6%89%A7%E8%A1%8C%E5%BC%95%E6%93%8E%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E8%83%BD%E5%A4%9F%E8%BD%AC%E8%AF%91%E5%92%8C%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%9C%80%E8%A6%81%E5%88%9B%E5%BB%BA%20tsconfig.json%20%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E4%B8%8B%E9%9D%A2%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%7B%5Cn%26%2334%3BcompilerOptions%26%2334%3B%3A%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Btarget%26%2334%3B%3A%26nbsp%3B%26%2334%3Bes2017%26%2334%3B%2C%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Bmodule%26%2334%3B%3A%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5Cn%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E6%96%B0%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B9%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world-typescript.ts%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E6%B7%BB%E5%8A%A0%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%91%8A%E8%AF%89%20OS%20%E5%86%85%E6%A0%B8%E4%BD%BF%E7%94%A8%20ts-node%20%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B.%2Fnode_modules%2F.bin%2Fts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E4%B8%AD%E4%BD%BF%E7%94%A8%20await%20%E5%85%B3%E9%94%AE%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E6%8A%8A%E5%AE%83%E5%8C%85%E8%A3%85%E5%9C%A8%E4%B8%80%E4%B8%AA%E7%AB%8B%E5%8D%B3%E8%B0%83%E7%94%A8%E5%87%BD%E6%95%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%EF%BC%88IIFE%EF%BC%89%E4%B8%AD%EF%BC%8C%E6%AD%A3%E5%A6%82%20zx%20%E6%96%87%E6%A1%A3%E6%89%80%E5%BB%BA%E8%AE%AE%E7%9A%84%E9%82%A3%E6%A0%B7%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world-typescript.ts%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnvoid%26nbsp%3B(async%26nbsp%3Bfunction%26nbsp%3B()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60ls%60%3B%5Cn%7D)()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E9%9C%80%E8%A6%81%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E4%B8%8B%E9%9D%A2%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world-typescript.ts%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cntsconfig.json%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%E8%84%9A%E6%9C%AC%E4%B8%8E%E4%BD%BF%E7%94%A8%20JavaScript%20%E7%9B%B8%E4%BC%BC%EF%BC%8C%E4%BD%86%E9%9C%80%E8%A6%81%E5%AF%B9%E6%88%91%E4%BB%AC%E7%9A%84%E4%BB%A3%E7%A0%81%E8%BF%9B%E8%A1%8C%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E9%85%8D%E7%BD%AE%E5%92%8C%E5%8C%85%E8%A3%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%9E%84%E5%BB%BA%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E7%94%A8%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AF%86%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E7%94%A8%E5%AE%83%E6%9D%A5%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B7%A5%E5%85%B7%E3%80%82%E8%BF%99%E4%B8%AA%E5%B7%A5%E5%85%B7%E5%B0%86%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E9%80%9A%E5%B8%B8%E5%BE%88%E8%80%97%E6%97%B6%E7%9A%84%E8%BF%87%E7%A8%8B%EF%BC%9A%E4%B8%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E7%9A%84%E9%85%8D%E7%BD%AE%E6%8F%90%E4%BE%9B%E5%BC%95%E5%AF%BC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BA%A4%E4%BA%92%E5%BC%8F%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E3%80%82%E5%AE%83%E8%BF%98%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E5%86%85%E7%BD%AE%E7%9A%84%20chalk%20%E5%BA%93%EF%BC%8C%E4%BB%A5%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A2%9C%E8%89%B2%E9%AB%98%E4%BA%AE%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B9%B6%E6%8F%90%E4%BE%9B%E4%B8%80%E4%B8%AA%E5%8F%8B%E5%A5%BD%E7%9A%84%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C%E3%80%82%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E8%BF%98%E5%B0%86%E5%AE%89%E8%A3%85%E6%96%B0%E9%A1%B9%E7%9B%AE%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%EF%BC%8C%E6%89%80%E4%BB%A5%E5%AE%83%E5%B7%B2%E7%BB%8F%E5%87%86%E5%A4%87%E5%A5%BD%E8%AE%A9%E6%88%91%E4%BB%AC%E7%AB%8B%E5%8D%B3%E5%BC%80%E5%A7%8B%E5%BC%80%E5%8F%91%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%87%86%E5%A4%87%E5%BC%80%E5%A7%8B%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%90%8D%E4%B8%BA%20bootstrap-tool.mjs%20%E7%9A%84%E6%96%B0%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B9%B6%E6%B7%BB%E5%8A%A0%20shebang%20%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E6%A8%A1%E5%9D%97%EF%BC%8C%E4%BB%A5%E5%8F%8A%20Node.js%20%E6%A0%B8%E5%BF%83%20path%20%E6%A8%A1%E5%9D%97%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%2F%2F%26nbsp%3Bbootstrap-tool.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%2C%26nbsp%3Bargv%2C%26nbsp%3Bcd%2C%26nbsp%3Bchalk%2C%26nbsp%3Bfs%2C%26nbsp%3Bquestion%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnimport%26nbsp%3Bpath%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bpath%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8E%E6%88%91%E4%BB%AC%E4%B9%8B%E5%89%8D%E5%88%9B%E5%BB%BA%E7%9A%84%E8%84%9A%E6%9C%AC%E4%B8%80%E6%A0%B7%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bbootstrap-tool.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E7%94%A8%E7%BA%A2%E8%89%B2%E6%96%87%E6%9C%AC%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%EF%BC%8C%E5%B9%B6%E4%BB%A5%E9%94%99%E8%AF%AF%E9%80%80%E5%87%BA%E4%BB%A3%E7%A0%81%201%20%E9%80%80%E5%87%BA%20Node.js%20%E8%BF%9B%E7%A8%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Efunction%26nbsp%3BexitWithError(errorMessage)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconsole.error(chalk.red(errorMessage))%3B%5Cn%26nbsp%3B%26nbsp%3Bprocess.exit(1)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BD%93%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%A4%84%E7%90%86%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E9%80%9A%E8%BF%87%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%9C%A8%E5%90%84%E4%B8%AA%E5%9C%B0%E6%96%B9%E4%BD%BF%E7%94%A8%E8%BF%99%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%E4%B8%89%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%9Agit%E3%80%81node%20%E5%92%8C%20npx%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20which%20%E5%BA%93%E6%9D%A5%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E6%A3%80%E6%9F%A5%E8%BF%99%E4%BA%9B%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%E5%B9%B6%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20which%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bwhich%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%BC%95%E5%85%A5%E5%AE%83%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3Bwhich%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bwhich%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BD%BF%E7%94%A8%E5%AE%83%E7%9A%84%20checkRequiredProgramsExist%20%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckRequiredProgramsExist(programs)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3Bprogram%26nbsp%3Bof%26nbsp%3Bprograms)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bwhich(program)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BRequired%26nbsp%3Bcommand%26nbsp%3B%24%7Berror.message%7D%60)%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%90%8D%E7%A7%B0%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%95%B0%E7%BB%84%EF%BC%8C%E5%AF%B9%E6%AF%8F%E4%B8%AA%E7%A8%8B%E5%BA%8F%E8%B0%83%E7%94%A8%20which%20%E5%87%BD%E6%95%B0%E3%80%82%E5%A6%82%E6%9E%9C%20which%20%E6%89%BE%E5%88%B0%E4%BA%86%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%B7%AF%E5%BE%84%EF%BC%8C%E5%AE%83%E5%B0%86%E8%BF%94%E5%9B%9E%E8%AF%A5%E7%A8%8B%E5%BA%8F%E3%80%82%E5%90%A6%E5%88%99%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%AF%A5%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E6%8A%9B%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E3%80%82%E5%A6%82%E6%9E%9C%E6%9C%89%E4%BB%BB%E4%BD%95%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E8%B0%83%E7%94%A8%20exitWithError%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%E5%B9%B6%E5%81%9C%E6%AD%A2%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%8F%AF%E4%BB%A5%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%AF%B9%20checkRequiredProgramsExist%20%E7%9A%84%E8%B0%83%E7%94%A8%EF%BC%8C%E4%BB%A5%E6%A3%80%E6%9F%A5%E6%88%91%E4%BB%AC%E7%9A%84%E5%B7%A5%E5%85%B7%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%8F%AF%E7%94%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckRequiredProgramsExist(%5B%26%2334%3Bgit%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnode%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnpx%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%B7%BB%E5%8A%A0%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E9%80%89%E9%A1%B9%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%B0%86%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E5%90%AF%E5%8A%A8%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%88%91%E4%BB%AC%E5%B8%8C%E6%9C%9B%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9A%84%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E3%80%82%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E8%A6%81%E7%BB%99%E8%84%9A%E6%9C%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20--directory%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E5%86%85%E7%BD%AE%E4%BA%86%20minimist%20%E5%8C%85%EF%BC%8C%E5%AE%83%E8%83%BD%E5%A4%9F%E8%A7%A3%E6%9E%90%E4%BC%A0%E9%80%92%E7%BB%99%E8%84%9A%E6%9C%AC%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%E8%BF%99%E4%BA%9B%E8%A2%AB%E8%A7%A3%E6%9E%90%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E8%A2%AB%20zx%20%E5%8C%85%E4%BD%9C%E4%B8%BA%20argv%20%E6%8F%90%E4%BE%9B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E5%90%8D%E4%B8%BA%20directory%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E6%A3%80%E6%9F%A5%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Elet%26nbsp%3BtargetDirectory%26nbsp%3B%3D%26nbsp%3Bargv.directory%3B%5Cnif%26nbsp%3B(!targetDirectory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%26%2334%3BError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%26%2334%3B)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%20directory%20%E5%8F%82%E6%95%B0%E8%A2%AB%E4%BC%A0%E9%80%92%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%E5%AE%83%E6%98%AF%E5%90%A6%E6%98%AF%E5%B7%B2%E7%BB%8F%E5%AD%98%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%E7%9A%84%E8%B7%AF%E5%BE%84%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%8F%90%E4%BE%9B%E7%9A%84%20fs.pathExists%20%E6%96%B9%E6%B3%95%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3EtargetDirectory%26nbsp%3B%3D%26nbsp%3Bpath.resolve(targetDirectory)%3B%5Cnif%26nbsp%3B(!(await%26nbsp%3Bfs.pathExists(targetDirectory)))%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BTarget%26nbsp%3Bdirectory%26nbsp%3B%26%2339%3B%24%7BtargetDirectory%7D%26%2339%3B%26nbsp%3Bdoes%26nbsp%3Bnot%26nbsp%3Bexist%60)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E8%B7%AF%E5%BE%84%E5%AD%98%E5%9C%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%20cd%20%E5%87%BD%E6%95%B0%E6%9D%A5%E5%88%87%E6%8D%A2%E5%BD%93%E5%89%8D%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%9A%E2%80%8D%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ecd(targetDirectory)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%9C%A8%E6%B2%A1%E6%9C%89--directory%20%E5%8F%82%E6%95%B0%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E5%BA%94%E8%AF%A5%E4%BC%9A%E6%94%B6%E5%88%B0%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3B.%2Fbootstrap-tool.mjs%5CnError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E5%85%A8%E5%B1%80%20Git%20%E8%AE%BE%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%A8%8D%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%8C%E4%BD%86%E9%A6%96%E5%85%88%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%20Git%20%E6%98%AF%E5%90%A6%E6%9C%89%E5%AE%83%E9%9C%80%E8%A6%81%E7%9A%84%E9%85%8D%E7%BD%AE%E3%80%82%E6%88%91%E4%BB%AC%E8%A6%81%E7%A1%AE%E4%BF%9D%E6%8F%90%E4%BA%A4%E4%BC%9A%E8%A2%AB%20GitHub%20%E7%AD%89%E4%BB%A3%E7%A0%81%E6%89%98%E7%AE%A1%E6%9C%8D%E5%8A%A1%E6%AD%A3%E7%A1%AE%E5%BD%92%E7%B1%BB%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%81%9A%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E8%BF%99%E9%87%8C%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E7%B4%A2%20Git%20%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%E7%9A%84%E5%80%BC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetGlobalGitSettingValue(settingName)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B%26%2334%3B%26%2334%3B%3B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60git%26nbsp%3Bconfig%26nbsp%3B--global%26nbsp%3B--get%26nbsp%3B%24%7BsettingName%7D%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B).stdout.trim()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%2F%2F%26nbsp%3BIgnore%26nbsp%3Bprocess%26nbsp%3Boutput%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BsettingValue%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E5%85%B3%E9%97%AD%20zx%20%E9%BB%98%E8%AE%A4%E8%AE%BE%E7%BD%AE%E7%9A%84%20verbose%20%E6%A8%A1%E5%BC%8F%E3%80%82%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%EF%BC%8C%E5%BD%93%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%97%B6%EF%BC%8C%E8%AF%A5%E5%91%BD%E4%BB%A4%E5%92%8C%E5%AE%83%E5%8F%91%E9%80%81%E5%88%B0%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E7%9A%84%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9%E9%83%BD%E4%B8%8D%E4%BC%9A%E8%A2%AB%E6%98%BE%E7%A4%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%9C%A8%E5%87%BD%E6%95%B0%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E5%B0%86%20verbose%20%E6%A8%A1%E5%BC%8F%E9%87%8D%E6%96%B0%E6%89%93%E5%BC%80%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E5%BD%B1%E5%93%8D%E5%88%B0%E6%88%91%E4%BB%AC%E7%A8%8D%E5%90%8E%E5%9C%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%85%B6%E4%BB%96%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%20checkGlobalGitSettings%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A5%E5%87%BD%E6%95%B0%E6%8E%A5%E6%94%B6%20Git%20%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%E7%BB%84%E6%88%90%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%B0%86%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%AF%8F%E4%B8%AA%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E4%BC%A0%E9%80%92%E7%BB%99%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E4%BB%A5%E6%A3%80%E7%B4%A2%E5%85%B6%E5%80%BC%E3%80%82%E5%A6%82%E6%9E%9C%E8%AE%BE%E7%BD%AE%E6%B2%A1%E6%9C%89%E5%80%BC%EF%BC%8C%E5%B0%86%E6%98%BE%E7%A4%BA%E8%AD%A6%E5%91%8A%E4%BF%A1%E6%81%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckGlobalGitSettings(settingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3BsettingName%26nbsp%3Bof%26nbsp%3BsettingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetGlobalGitSettingValue(settingName)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!settingValue)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.warn(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.yellow(%60Warning%3A%26nbsp%3BGlobal%26nbsp%3Bgit%26nbsp%3Bsetting%26nbsp%3B%26%2339%3B%24%7BsettingName%7D%26%2339%3B%26nbsp%3Bis%26nbsp%3Bnot%26nbsp%3Bset.%60)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E7%BB%99%20checkGlobalGitSettings%20%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E8%B0%83%E7%94%A8%EF%BC%8C%E6%A3%80%E6%9F%A5%20user.name%20%E5%92%8C%20user.email%20%E7%9A%84%20Git%20%E8%AE%BE%E7%BD%AE%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E8%A2%AB%E8%AE%BE%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckGlobalGitSettings(%5B%26%2334%3Buser.name%26%2334%3B%2C%26nbsp%3B%26%2334%3Buser.email%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%88%9D%E5%A7%8B%E5%8C%96%20Git%20%E4%BB%93%E5%BA%93%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E6%B7%BB%E5%8A%A0%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Binit%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20package.json%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%AF%8F%E4%B8%AA%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%83%BD%E9%9C%80%E8%A6%81%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E8%BF%99%E6%98%AF%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E5%AE%9A%E4%B9%89%E5%85%83%E6%95%B0%E6%8D%AE%E7%9A%84%E5%9C%B0%E6%96%B9%EF%BC%8C%E6%8C%87%E5%AE%9A%E9%A1%B9%E7%9B%AE%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E5%8C%85%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%B7%BB%E5%8A%A0%E5%AE%9E%E7%94%A8%E7%9A%84%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%94%9F%E6%88%90%20package.json%20%E6%96%87%E4%BB%B6%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E5%87%A0%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%98%AF%20readPackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%AF%BB%E5%8F%96%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BreadPackageJson(directory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3Bfs.readJSON(packageJsonFilepath)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20writePackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E5%90%91%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E5%86%99%E5%85%A5%E6%9B%B4%E6%94%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BwritePackageJson(directory%2C%26nbsp%3Bcontents)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bfs.writeJSON(packageJsonFilepath%2C%26nbsp%3Bcontents%2C%26nbsp%3B%7B%26nbsp%3Bspaces%3A%26nbsp%3B2%26nbsp%3B%7D)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%20fs.readJSON%20%E5%92%8C%20fs.writeJSON%20%E6%96%B9%E6%B3%95%E6%98%AF%E7%94%B1%20fs-extra%20%E5%BA%93%E6%8F%90%E4%BE%9B%E7%9A%84%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E5%AE%9A%E4%B9%89%E4%BA%86%20package.json%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%BC%80%E5%A7%8B%E8%80%83%E8%99%91%20package.json%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E6%94%AF%E6%8C%81%E4%B8%A4%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ECommonJS%20Modules%20(CJS)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DKTweLvts6a1zOlUbn0cnCA%253D%253D.WRSoJ3t37Y2GYjanjStt81N%252BkCOGoR11gK8pv6Fck09uaKTSXHq5mvMcWutIRxYU%3C%2Fspan%3E%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%BF%E7%94%A8%20module.exports%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20require()%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EECMAScript%20Modules%20(ESM)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DOUbF%252BkjeOpAlt3Fo9PFGFw%253D%253D.Ex%252BQVnop7rVNKtYxrnp%252Fhcm08eFRE7K2XLUBlFFQ7D4%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%BD%BF%E7%94%A8%20export%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20import%20%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E7%94%9F%E6%80%81%E7%B3%BB%E7%BB%9F%E6%AD%A3%E5%9C%A8%E9%80%90%E6%AD%A5%E9%87%87%E7%94%A8%20ES%20%E6%A8%A1%E5%9D%97%EF%BC%8C%E8%BF%99%E5%9C%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%20JavaScript%20%E4%B8%AD%E6%98%AF%E5%BE%88%E5%B8%B8%E8%A7%81%E7%9A%84%E3%80%82%E5%BD%93%E4%BA%8B%E6%83%85%E5%A4%84%E4%BA%8E%E8%BF%87%E6%B8%A1%E9%98%B6%E6%AE%B5%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%86%B3%E5%AE%9A%E6%88%91%E4%BB%AC%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%BB%98%E8%AE%A4%E4%BD%BF%E7%94%A8%20CJS%20%E6%A8%A1%E5%9D%97%E8%BF%98%E6%98%AF%20ESM%20%E6%A8%A1%E5%9D%97%E3%80%82%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%BF%99%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForModuleSystem(moduleSystems)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Which%26nbsp%3BNode.js%26nbsp%3Bmodule%26nbsp%3Bsystem%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Buse%3F%26nbsp%3B(%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26nbsp%3Bor%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D)%26nbsp%3B%60%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchoices%3A%26nbsp%3BmoduleSystems%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BmoduleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E5%87%BD%E6%95%B0%E4%BD%BF%E7%94%A8%E7%9A%84%20question%20%E5%87%BD%E6%95%B0%E7%94%B1%20zx%20%E6%8F%90%E4%BE%9B%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getNodeModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E8%B0%83%E7%94%A8%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E6%A3%80%E6%9F%A5%E6%89%80%E8%BE%93%E5%85%A5%E7%9A%84%E5%80%BC%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%8D%E6%98%AF%EF%BC%8C%E5%AE%83%E5%B0%86%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetNodeModuleSystem()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystems%26nbsp%3B%3D%26nbsp%3B%5B%26%2334%3Bmodule%26%2334%3B%2C%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForModuleSystem(moduleSystems)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BisValidModuleSystem%26nbsp%3B%3D%26nbsp%3BmoduleSystems.includes(selectedModuleSystem)%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!isValidModuleSystem)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BModule%26nbsp%3Bsystem%26nbsp%3Bmust%26nbsp%3Bbe%26nbsp%3Beither%26nbsp%3B%26%2339%3B%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26%2339%3B%26nbsp%3Bor%26nbsp%3B%26%2339%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%26%2339%3B%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BselectedModuleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E8%BF%90%E8%A1%8C%20npm%20init%20%E5%91%BD%E4%BB%A4%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npm%26nbsp%3Binit%26nbsp%3B--yes%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E8%AF%BB%E5%8F%96%E6%96%B0%E5%88%9B%E5%BB%BA%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E8%AF%A2%E9%97%AE%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%B3%BB%E7%BB%9F%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA%20packageJson%20%E5%AF%B9%E8%B1%A1%E4%B8%AD%E7%9A%84%20type%20%E5%B1%9E%E6%80%A7%E5%80%BC%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%E5%85%B6%E5%86%99%E5%9B%9E%E5%88%B0%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackageJson%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5CnpackageJson.type%26nbsp%3B%3D%26nbsp%3BselectedModuleSystem%3B%5Cnawait%26nbsp%3BwritePackageJson(targetDirectory%2C%26nbsp%3BpackageJson)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%8F%90%E7%A4%BA%EF%BC%9A%E5%BD%93%E4%BD%A0%E7%94%A8--yes%20%E6%A0%87%E5%BF%97%E8%BF%90%E8%A1%8C%20npm%20init%20%E6%97%B6%EF%BC%8C%E8%A6%81%E6%83%B3%E5%9C%A8%20package.json%20%E4%B8%AD%E8%8E%B7%E5%BE%97%E5%90%88%E7%90%86%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%EF%BC%8C%E8%AF%B7%E7%A1%AE%E4%BF%9D%E4%BD%A0%E8%AE%BE%E7%BD%AE%E4%BA%86%20npminit-*%E7%9A%84%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DX0aVKO8sVtj0bgZhFmgjVw%253D%253D.hxYbJxX5X2odlcPpk5MdIVLkT7ESAsFMhFnFSRBftI2c2BjNTUCtV1gwdXnpxWGI%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E9%A1%B9%E7%9B%AE%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E4%BD%BF%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E5%90%8E%E8%83%BD%E5%A4%9F%E8%BD%BB%E6%9D%BE%E5%9C%B0%E5%BC%80%E5%A7%8B%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForPackages%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E5%93%AA%E4%BA%9B%20npm%20%E5%8C%85%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForPackages()%26nbsp%3B%7B%5Cnlet%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3BWhich%26nbsp%3Bnpm%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Binstall%26nbsp%3Bfor%26nbsp%3Bthis%26nbsp%3Bproject%3F%26nbsp%3B%26%2334%3B%5Cn)%3B%5CnpackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall%5Cn%26nbsp%3B%26nbsp%3B.trim()%5Cn%26nbsp%3B%26nbsp%3B.split(%26%2334%3B%26nbsp%3B%26%2334%3B)%5Cn%26nbsp%3B%26nbsp%3B.filter((pkg)%26nbsp%3B%3D%26gt%3B%26nbsp%3Bpkg)%3B%5Cnreturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E9%98%B2%E6%AD%A2%E6%88%91%E4%BB%AC%E5%9C%A8%E8%BE%93%E5%85%A5%E5%8C%85%E5%90%8D%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E5%88%AB%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20identifyInvalidNpmPackages%20%E5%87%BD%E6%95%B0%E3%80%82%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E5%B0%86%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%20npm%20%E5%8C%85%E5%90%8D%E6%95%B0%E7%BB%84%EF%BC%8C%E7%84%B6%E5%90%8E%E8%BF%90%E8%A1%8C%20npm%20view%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E6%9F%A5%E5%AE%83%E4%BB%AC%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BidentifyInvalidNpmPackages(packages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3B%5B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(const%26nbsp%3Bpkg%26nbsp%3Bof%26nbsp%3Bpackages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Bview%26nbsp%3B%24%7Bpkg%7D%60%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BinvalidPackages.push(pkg)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BinvalidPackages%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getPackagesToInstall%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E5%88%9A%E5%88%9A%E5%88%9B%E5%BB%BA%E7%9A%84%E4%B8%A4%E4%B8%AA%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetPackagesToInstall()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForPackages()%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BidentifyInvalidNpmPackages(packagesToInstall)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BallPackagesExist%26nbsp%3B%3D%26nbsp%3BinvalidPackages.length%26nbsp%3B%3D%3D%3D%26nbsp%3B0%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!allPackagesExist)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BThe%26nbsp%3Bfollowing%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Bnot%26nbsp%3Bexist%26nbsp%3Bon%26nbsp%3Bnpm%3A%26nbsp%3B%24%7BinvalidPackages.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%2C%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%9C%89%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%90%8D%E7%A7%B0%E4%B8%8D%E6%AD%A3%E7%A1%AE%EF%BC%8C%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E6%97%A6%E6%88%91%E4%BB%AC%E5%BE%97%E5%88%B0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E6%9C%89%E6%95%88%E5%8C%85%E5%88%97%E8%A1%A8%EF%BC%8C%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20npm%20install%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E5%AE%89%E8%A3%85%E5%AE%83%E4%BB%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cnconst%26nbsp%3BhavePackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall.length%26nbsp%3B%26gt%3B%26nbsp%3B0%3B%5Cnif%26nbsp%3B(havePackagesToInstall)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Binstall%26nbsp%3B%24%7BpackagesToInstall%7D%60%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E4%B8%BA%E5%B7%A5%E5%85%B7%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE%E6%98%AF%E6%88%91%E4%BB%AC%E7%94%A8%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E7%9A%84%E6%9C%80%E4%BD%B3%E4%BA%8B%E9%A1%B9%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA.gitignore%20%E6%96%87%E4%BB%B6%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E6%84%8F%E5%A4%96%E5%9C%B0%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E5%9C%A8%20Git%20%E4%BB%93%E5%BA%93%E4%B8%AD%E5%87%BA%E7%8E%B0%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bgitignore%26nbsp%3Bnode%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8%20gitignore%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DV%252FIoxipE2WxmNECDRNKMqg%253D%253D.7Y4d34n%252BoUVlJkYEiJt3NLa9RHn2pYtKq%252BHpO67HIQjfjKAHIxcMynZzTudktHaV%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E5%8C%85%EF%BC%8C%E4%BB%8E%20GitHub%20%E7%9A%84%20gitignore%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3E%20https%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DSzh56TKqT6gYmrJidM7ZXg%253D%253D.BK7Vf5F73GaplJKeN48OsobM6U4EPriatZOr3dBhsSVZIuIUiktyqfS1jhLLtQ7o%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E6%A8%A1%E6%9D%BF%E4%B8%AD%E6%8B%89%E5%8F%96%20Node.js%20%E7%9A%84.gitignore%20%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E7%9A%84%20EditorConfig%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DdGD5%252BEyCTqLfqDSif7%252FHgQ%253D%253D.xgNWBjR6m%252FIUFlG1UmM3CYX2R%252BLXFN531lZhlvCRRWs%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%81Prettier%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3Dn7clHFqLMZZala0zu1JjdQ%253D%253D.jivAg4cL8HkSAhuurMUHrlfhGGILOpveTQR0rjCRXyg%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%92%8C%20ESLint%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DJ4jXEAmmBQ83%252FWSrOtTsAQ%253D%253D.b%252FKC0kT%252FZWZQ9KBItXDMQHWJBzc5aW9hUZsxWHBsMY4%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E4%B8%80%E4%B8%AA%E5%8F%AB%E5%81%9A%20Mrm%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E7%9A%84%20mrm%20%E4%BE%9D%E8%B5%96%E9%A1%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--global%26nbsp%3Bmrm%26nbsp%3Bmrm-task-editorconfig%26nbsp%3Bmrm-task-prettier%26nbsp%3Bmrm-task-eslint%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%B7%BB%E5%8A%A0%20mrm%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beditorconfig%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Bprettier%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beslint%60%3B%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EMrm%20%E8%B4%9F%E8%B4%A3%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%E3%80%82%E5%AE%83%E8%BF%98%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E7%94%9F%E6%88%90%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BB%A5%E7%AC%A6%E5%90%88%E6%88%91%E4%BB%AC%E7%9A%84%E4%B8%AA%E4%BA%BA%E5%81%8F%E5%A5%BD%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20README%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E7%9A%84%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%E8%AF%BB%E5%8F%96%E9%A1%B9%E7%9B%AE%E5%90%8D%E7%A7%B0%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA%E5%9F%BA%E6%9C%AC%E7%9A%84%20Markdown%20%E6%A0%BC%E5%BC%8F%E7%9A%84%20README%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E5%86%99%E5%85%A5%20README.md%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3B%7B%26nbsp%3Bname%3A%26nbsp%3BprojectName%26nbsp%3B%7D%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BreadmeContents%26nbsp%3B%3D%26nbsp%3B%60%23%26nbsp%3B%24%7BprojectName%7D%5Cn...%5Cn%60%3B%5Cnawait%26nbsp%3Bfs.writeFile(%60%24%7BtargetDirectory%7D%2FREADME.md%60%2C%26nbsp%3BreadmeContents)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%9A%B4%E9%9C%B2%E7%9A%84%20fs.writeFile%20%E7%9A%84%20promise%20%E5%8F%98%E9%87%8F%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%8F%90%E4%BA%A4%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%80%E5%90%8E%EF%BC%8C%E6%98%AF%E6%97%B6%E5%80%99%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E7%94%A8%20git%20%E5%88%9B%E5%BB%BA%E7%9A%84%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%E4%BA%86%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Badd%26nbsp%3B.%60%3B%5Cnawait%26nbsp%3B%24%60git%26nbsp%3Bcommit%26nbsp%3B-m%26nbsp%3B%26%2334%3BAdd%26nbsp%3Bproject%26nbsp%3Bskeleton%26%2334%3B%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E6%9D%A1%E6%B6%88%E6%81%AF%EF%BC%8C%E7%A1%AE%E8%AE%A4%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B7%B2%E7%BB%8F%E6%88%90%E5%8A%9F%E5%90%AF%E5%8A%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econsole.log(%5Cn%26nbsp%3B%26nbsp%3Bchalk.green(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60%5C%5Cn%E2%9C%94%EF%B8%8F%26nbsp%3BThe%26nbsp%3Bproject%26nbsp%3B%24%7BprojectName%7D%26nbsp%3Bhas%26nbsp%3Bbeen%26nbsp%3Bsuccessfully%26nbsp%3Bbootstrapped!%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B)%5Cn)%3B%5Cnconsole.log(chalk.green(%60Add%26nbsp%3Ba%26nbsp%3Bgit%26nbsp%3Bremote%26nbsp%3Band%26nbsp%3Bpush%26nbsp%3Byour%26nbsp%3Bchanges.%60))%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%90%AF%E5%8A%A8%E6%96%B0%E9%A1%B9%E7%9B%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bnew-project%5Cn.%2Fbootstrap-tool.mjs%26nbsp%3B--directory%26nbsp%3Bnew-project%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%B9%B6%E8%A7%82%E7%9C%8B%E6%88%91%E4%BB%AC%E6%89%80%E5%81%9A%E7%9A%84%E4%B8%80%E5%88%87%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%80%BB%E7%BB%93%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E5%A6%82%E4%BD%95%E5%9C%A8%20Node.js%20%E4%B8%AD%E5%80%9F%E5%8A%A9%20Google%20%E7%9A%84%20zx%20%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E5%BC%BA%E5%A4%A7%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E4%BA%86%E5%AE%83%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%92%8C%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%81%B5%E6%B4%BB%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%B0%E7%9B%AE%E5%89%8D%E4%B8%BA%E6%AD%A2%EF%BC%8C%E6%88%91%E4%BB%AC%E6%89%80%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%8F%AA%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BC%80%E5%A7%8B%E3%80%82%E8%BF%99%E9%87%8C%E6%9C%89%E4%B8%80%E4%BA%9B%E5%8A%9F%E8%83%BD%E7%82%B9%E5%AD%90%EF%BC%8C%E4%BD%A0%E5%8F%AF%E8%83%BD%E6%83%B3%E5%B0%9D%E8%AF%95%E8%87%AA%E5%B7%B1%E6%B7%BB%E5%8A%A0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E3%80%82%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E8%BF%98%E4%B8%8D%E5%AD%98%E5%9C%A8%EF%BC%8C%E5%88%99%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E5%B9%B6%E8%AF%A2%E9%97%AE%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E6%83%B3%E8%A6%81%E4%B8%BA%E4%BB%96%E4%BB%AC%E5%88%9B%E5%BB%BA%E8%AF%A5%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BC%80%E6%BA%90%E5%8D%AB%E7%94%9F%E3%80%82%E9%97%AE%E9%97%AE%E7%94%A8%E6%88%B7%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E5%9C%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B0%86%E6%98%AF%E5%BC%80%E6%BA%90%E7%9A%84%E9%A1%B9%E7%9B%AE%E3%80%82%E5%A6%82%E6%9E%9C%E6%98%AF%E7%9A%84%E8%AF%9D%EF%BC%8C%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E8%AE%B8%E5%8F%AF%E8%AF%81%E5%92%8C%E8%B4%A1%E7%8C%AE%E8%80%85%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%20GitHub%20%E4%B8%8A%E7%9A%84%E4%BB%93%E5%BA%93%E3%80%82%E6%B7%BB%E5%8A%A0%E4%BD%BF%E7%94%A8%20GitHub%20CLI%20%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%9C%A8%20GitHub%20%E4%B8%8A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E3%80%82%E4%B8%80%E6%97%A6%E7%94%A8%20Git%20%E6%8F%90%E4%BA%A4%E4%BA%86%E5%88%9D%E5%A7%8B%E9%AA%A8%E6%9E%B6%EF%BC%8C%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E6%8E%A8%E9%80%81%E5%88%B0%E8%BF%99%E4%B8%AA%E4%BB%93%E5%BA%93%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E5%9C%A8%20GitHub%20%E4%B8%8A%E6%89%BE%E5%88%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E8%AF%91%E8%87%AA%EF%BC%9A%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5Z%252ByLQNgua%252FY5gnguxXllg%253D%253D.SeNINYETng%252BH6uZupDjhsYNRqM5GWB5jXVDlvMdMqsO9u3CmWfwe8DwT48iAvK%252Fsm8pflQ8jbxHc1sB281%252B6pA%253D%253D%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%9C%E8%80%85%EF%BC%9A%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3ESimon%20Plenderleith%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BB%A5%E4%B8%8A%E5%B0%B1%E6%98%AF%E6%9C%AC%E6%96%87%E7%9A%84%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9%E3%80%82%E5%A6%82%E6%9E%9C%E5%AF%B9%E4%BD%A0%E6%9C%89%E6%89%80%E5%B8%AE%E5%8A%A9%EF%BC%8C%E6%AC%A2%E8%BF%8E%E7%82%B9%E8%B5%9E%E3%80%81%E6%94%B6%E8%97%8F%E3%80%81%E8%BD%AC%E5%8F%91~%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Chr%3E%22%2C%22imageList%22%3A%5B%5D%2C%22mediaInfo%22%3A%7B%22userId%22%3A%22MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH%22%2C%22unsafeUserId%22%3A%224288553596503552%22%2C%22name%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22avatarUrl%22%3A%22https%3A%2F%2Fsf3-cdn-tos.toutiaostatic.com%2Fimg%2Fuser-avatar%2Fc14bb151d3505084033c82ee8238acde~300x300.image%22%2C%22description%22%3A%22%E6%AC%A2%E8%BF%8E%E5%85%B3%E6%B3%A8VX%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22userVerified%22%3A1%7D%2C%22seoTDK%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC-%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1%22%2C%22description%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22keywords%22%3A%22%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%2CNode.js%2CGoogle%2CJavaScript%2CBash%2CTypeScript%2CZsh%2CGitHub%2C%E7%BE%8E%E5%A5%BD%EF%BC%8C%E4%B8%80%E7%9B%B4%E5%9C%A8%E8%BA%AB%E8%BE%B9%22%2C%22publishTimestamp%22%3A%221678237205%22%2C%22modifiedTimestamp%22%3A%221685548306%22%7D%2C%22cover%22%3A%22https%3A%2F%2Fp3-sign.toutiaoimg.com%2Flarge%2Ftos-cn-i-qvj2lq49k0%2F7894dd4439eb4e78ad35208f496e841a%3F_iz%3D58558%26from%3Darticle.pc_detail%26x-expires%3D1690103402%26x-signature%3D5z%252FNWR2V4o%252B5W0fhczXkGuaSyYE%253D%22%2C%22logId%22%3A%222023071617100290B65219A60FE2C10ABA%22%2C%22sylpageConfig%22%3A%7B%22card%22%3A%7B%22id%22%3A%22%22%7D%7D%2C%22identity%22%3A%7B%22web_id%22%3A%227235169635611018810%22%2C%22user_is_login%22%3Afalse%7D%2C%22abtestInfo%22%3A%7B%22rsp_type%22%3A5%2C%22version_name%22%3A%224938400%22%2C%22parameters%22%3A%7B%22filter%22%3A%7B%22debug_enable_pc_small_video%22%3Afalse%2C%22enable_pc_small_video%22%3Atrue%7D%2C%22home_nav_conf%22%3A%7B%22dcd_out%22%3A1%7D%2C%22optimus%22%3A%7B%22rule_rank_rules%22%3A%22ranking_rule_list%20%7B%5Cn%20%20id%3A%201221233%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2212123%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%202%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%2020458%5Cn%20%20priority%3A%203%5Cn%20%20enabled%3A%20true%5Cn%20%20category%3A%2020458%5Cn%20%20type%3A%20WINDOW%5Cn%20%20window_rule%20%7B%5Cn%20%20%20%20type%3A%20SLIDE%5Cn%20%20%20%20size%3A%203%5Cn%20%20%20%20max%3A%201%5Cn%20%20%7D%5Cn%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%201111024%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2211024%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%206%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%22%7D%2C%22page_upgrade%22%3A%7B%22new_profile%22%3Atrue%2C%22video_double_column%22%3Atrue%7D%2C%22recall%22%3A%7B%22debug_filter_reason_list%22%3A%5B%5D%2C%22debug_recall_reason_list%22%3A%5B70%2C71%2C72%2C73%2C80%2C83%5D%2C%22enable_debug_filter_reason%22%3Atrue%2C%22enable_debug_recall_reason%22%3Atrue%2C%22friend_feed%22%3A%7B%22control_nums%22%3A1500%2C%22count%22%3A1000%2C%22enable%22%3Atrue%2C%22enable_cpp_friend_feed%22%3Atrue%2C%22enable_friend_feed_container_filter%22%3Atrue%2C%22enable_group_status_filter%22%3Atrue%2C%22params%22%3A%7B%7D%2C%22top_k%22%3A10%2C%22use_new_friend_recall%22%3Atrue%2C%22valid_group_source%22%3A%5B2%2C5%2C15%2C23%2C16%2C19%2C21%2C132%5D%2C%22weight%22%3A20%7D%7D%2C%22seraph%22%3A%7B%22rule_rank_rules_pc_small%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20%20%20%20%20%20id%3A%2022124%20%5Cn%20%20%20%20%20%20%20%20%20priority%3A%200%20%5Cn%20%20%20%20%20%20%20%20%20tags%3A%20%5C%2222124%5C%22%20%5Cn%20%20%20%20%20%20%20%20%20enabled%3A%20true%20%5Cn%20%20%20%20%20%20%20%20%20type%3A%20CARD%20%5Cn%20%20%20%20%20%20%20%20%20card_rule%20%7B%20%5Cn%20%20%20%20%20%20%20%20%20size%3A%206%20%5Cn%20%20%20%20%20%20%20%20%20num_cards%3A%201%5Cn%20%20%20%20%20%20%20%20%20type%3A%20SAME_SLOT%20%5Cn%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%22%2C%22rule_rank_rules_pc_small_window%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20id%3A%20222124%5Cn%20%20%20priority%3A%200%5Cn%20%20%20tags%3A%20%5C%2222124%5C%22%5Cn%20%20%20%20enabled%3A%20false%5Cn%20%20%20%20type%3A%20WINDOW%5Cn%20%20%20%20window_rule%20%7B%5Cn%20%20%20type%3A%20SLIDE%20%5Cn%20%20%20size%3A%2012%20%5Cn%20%20%20max%3A%206%20%5Cn%20%20%20%7D%5Cn%20%20%20%7D%22%7D%2C%22small_sort%22%3A%7B%22enable_filter_zhanwai%22%3Atrue%2C%22filter_genre_plog%22%3Afalse%2C%22filter_genre_small%22%3Afalse%2C%22skip_small_app_version_filter%22%3Afalse%2C%22skip_small_genre_filter%22%3Afalse%7D%2C%22sort%22%3A%7B%22allowed_ticai%22%3A%5B%22forum_post%22%2C%22pgc_text%22%2C%22pgc_video%22%2C%22short_video%22%5D%2C%22enable_optimus_gen_pc_mv_card%22%3Atrue%2C%22enable_optimus_gen_pc_sv_card%22%3Atrue%2C%22enable_pc_skip_app_smallvideo_card%22%3Atrue%7D%2C%22ugc_sort%22%3A%7B%22expore_smallvideo%22%3Atrue%7D%2C%22video_channel%22%3A%7B%22use_feed%22%3A1%2C%22rank%22%3A5%7D%7D%2C%22env_flag%22%3A0%7D%2C%22localCityInfo%22%3A%7B%22name%22%3A%22%E8%A5%84%E9%98%B3%22%2C%22code%22%3A%22420600%22%2C%22channelId%22%3A3202181326%7D%2C%22voteLink%22%3A%5B%7B%22keyword%22%3A%22%E6%9C%AB%E4%B8%96%E9%87%8D%E7%94%9F%EF%BC%8C%E6%88%91%E6%8A%A2%E4%BA%86%E5%A5%B3%E4%B8%BB%E7%9A%84%E9%87%91%E6%89%8B%E6%8C%87%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7045105728742231079%22%7D%2C%7B%22keyword%22%3A%22%E4%BA%BA%E5%9C%A8%E6%B5%B7%E8%B4%BC%3A%E6%88%91%E6%88%90%E4%B8%BA%E4%BA%86%E6%B5%B7%E5%86%9B%E5%A5%B3%E7%8E%8B%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7070145477789879300%22%7D%2C%7B%22keyword%22%3A%22%E6%B2%A1%E7%9E%8E%E7%9C%BC%E4%B8%89%E5%B9%B4%EF%BC%8C%E4%BD%86%E6%88%91%E7%9A%84%E5%AD%A6%E7%94%9F%E4%B8%8D%E6%98%AF%E4%BA%BA%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7118385133568134175%22%7D%2C%7B%22keyword%22%3A%22%E7%9C%9F%E5%8D%83%E9%87%91%E4%BB%8E%E4%BF%AE%E7%9C%9F%E7%95%8C%E5%9B%9E%E6%9D%A5%E4%BA%86%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F6983183491827502094%22%7D%2C%7B%22keyword%22%3A%22%E5%BC%82%E4%B8%96%E7%9B%B8%E9%81%87%E5%B0%BD%E4%BA%AB%E7%A4%BE%E6%AD%BB%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F583844%22%7D%2C%7B%22keyword%22%3A%22python%20ols%E5%9B%9E%E5%BD%92%E5%88%86%E6%9E%90%E7%BB%93%E6%9E%9C%E6%80%8E%E4%B9%88%E7%9C%8B%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131680%22%7D%2C%7B%22keyword%22%3A%22%E7%A5%9E%E5%A5%87%E5%AE%9D%E8%B4%9D%E4%B9%8B%E5%85%A8%E8%83%BD%E6%8E%8C%E9%97%A8%E4%BA%BA%E8%87%B4%E5%85%89%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F738595%22%7D%2C%7B%22keyword%22%3A%22%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3java8%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131722%22%7D%2C%7B%22keyword%22%3A%22linux%20mysql%20%E6%97%A5%E5%BF%97%E6%B8%85%E7%90%86%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1182964%22%7D%2C%7B%22keyword%22%3A%22%E6%88%91%E5%9C%A8%E5%AE%9D%E5%8F%AF%E6%A2%A6%E4%B8%96%E7%95%8C%E6%88%90%E4%B8%BA%E7%AC%AC%E4%B8%80%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F188604%22%7D%5D%2C%22grSensitive%22%3Afalse%2C%22showResearch%22%3Afalse%2C%22blockVisibility%22%3A%7B%22hotBoard%22%3Atrue%2C%22hotVideo%22%3Atrue%2C%22relatedRecommend%22%3Atrue%7D%2C%22isGreyTheme%22%3Afalse%2C%22searchBot%22%3Anull%7D%7D
ls`).stdout;
console.log(output);
注意:zx 文档建议把/usr/bin/env zx 放在我们脚本的 shebang 行中,但我们用/usr/bin/env node 代替。这是因为我们已经安装 zx,并作为项目的本地依赖。然后我们明确地从 zx 包中导入我们想要使用的函数和对象。这有助于明确我们脚本中使用的依赖来自哪里。
我们使用 chmod 来让脚本可执行:
chmodu+xhello-world.mjs
运行项目:
./hello-world.mjs
可以看到如下输出:
nbsp;ls
hello-world.mjs
node_modules
package.json
package-lock.json
README.md
hello-world.mjs
node_modules
package.json
package-lock.json
README.md
你会注意到:
- 我们运行的命令(ls)被包含在输出中。
- 命令的输出显示两次。
- 在输出的末尾多了一个新行。
zx 默认以 verbose 模式运行。它将输出你传递给$函数的命令,同时也输出该命令的标准输出。我们可以通过在运行 ls 命令前加入以下一行代码来改变这种行为:
$.verbose=false;
大多数命令行程序,如 ls,会在其输出的结尾处输出一个新行字符,以使输出在终端中更易读。这对可读性有好处,但由于我们要将输出存储在一个变量中,我们不希望有这个额外的新行。我们可以用 JavaScript String#trim()函数把它去掉:
-constoutput=(await
社区精选|如何使用 zx 编写 shell 脚本-*今条头日**
{"@context":"https://schema.org","@type":"NewsArticle","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.toutiao.com/article/7207743318715793920/"},"headline":"社区精选|如何使用 zx 编写 shell 脚本","description":"在这篇文章中,我们将学习谷歌的 zx 库提供了什么,以及我们如何使用它来用 Node.js 编写 shell 脚本。","image":[],"datePublished":"2023-03-08T01:00:05.000Z","dateModified":"2023-05-31T15:51:46.000Z","author":{"@type":"Person","name":"计算科学与信息化","url":"https://www.toutiao.com/c/user/token/MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH/"},"publisher":{"@type":"Organization","name":"*今条头日**","logo":{"@type":"ImageObject","url":"https://lf3-static.bytednsdoc.com/obj/eden-cn/uhbfnupkbps/216.png"}}}
!function(r,e,t,n,s,a,o,i,c,l,d,p,m,f){a="precollect",o="getAttribute",i="addEventListener",(l=function(e){(d=[].slice.call(arguments)).push(Date.now(),location.href),(e==a?l.p.a:l.q).push(d)}).q=[],l.p={a:[]},r[s]=l,(p=document.createElement("script")).src=t+"?bid=toutiao_web_pc&globalName="+s,p.crossOrigin=0
window.Slardar&&window.Slardar("init",{bid:"toutiao_web_pc",pid:"news_article_detail",release:"1.0.0.1822",env:"online",sample:{sample_rate:1},plugins:{ajax:{ignoreUrls:["mcs.snssdk.com","mcs.zijieapi.com","i.snssdk.com","verify.snssdk.com","vcs.snssdk.com","mon.zijieapi.com","mon.snssdk.com"]},pageview:{routeMode:"manual"},blankScreen:{rootSelector:"#root"}}})
!function(n,t){if(n.LogAnalyticsObject=t,!n[t]){function c(){c.q.push(arguments)}c.q=c.q||[],n[t]=c}n[t].l=+new Date}(window,"collectEvent")
window.collectEvent("usePlugin","autotrack"),window.collectEvent("usePlugin","stay"),window.collectEvent("init",{app_id:24,channel:"cn",autotrack:{custom:"tea",text:!0},enable_stay_duration:!0}),window.collectEvent("config",{evtParams:{url:window.location.href,screen_width:window.screen.width,screen_height:window.screen.height,screen_inner_width:window.innerWidth,screen_inner_height:window.innerHeight}})
window.byted_acrawler&&window.byted_acrawler.init({aid:24,dfp:!0})
window.TTGCaptcha&&window.TTGCaptcha.init({commonOptions:{aid:24,iid:"0",did:"0"}})
window.secsdk&&window.secsdk.csrf.setProtectedHost({"www.toutiao.com":{GET:[],POST:[/^\/api\/pc\/user\/fans_digg/,/^\/api\/pc\/user\/delete/,/^\/api\/pc\/user\/follow/,/^\/c\/ugc\/content\/repost/,/^\/group\/repin/,/^\/group\/unrepin/,/^\/api\/pc\/user\/stick/,/^\/api\/pc\/user\/unstick/,/^\/c\/user\/unfollow/,/^\/wenda\/v5\/interact\/followanswer/,/^\/wenda\/v5\/interact\/followquestion/,/^\/wenda\/v5\/interact\/digganswer/,/^\/wenda\/v5\/interact\/deleteanswer/,/^\/user_data\/batch_action/],PUT:[],PATCH:[],DELETE:[]}})
"undefined"!=typeof window&&"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("/sw.js").catch(function(e){window.Slardar&&window.Slardar("emit","counter",{name:"sw-register-error",value:1})})})
function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-QEHZPBE5HH")
%7B%22data%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%22%2C%22abstract%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22articleType%22%3A%22article%22%2C%22itemId%22%3A%227207743318715793920%22%2C%22groupId%22%3A%227207743318715793920%22%2C%22groupSource%22%3A2%2C%22isOriginal%22%3Afalse%2C%22banComment%22%3Afalse%2C%22publishTime%22%3A%222023-03-08%2009%3A00%22%2C%22source%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22tag%22%3A%22technique%22%2C%22mediaSite%22%3Anull%2C%22pathname%22%3A%22%2Farticle%2F7207743318715793920%2F%22%2C%22useCandle%22%3Afalse%2C%22isExclusive%22%3Afalse%2C%22favorite%22%3Afalse%2C%22relation%22%3A%7B%22isFollowing%22%3Afalse%2C%22isFollowed%22%3Afalse%7D%2C%22likeData%22%3A%7B%22userLikeStatus%22%3A0%2C%22count%22%3A1%7D%2C%22isSelf%22%3Afalse%2C%22content%22%3A%22%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%89%8D%E8%A8%80%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E6%9D%A5%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E5%BC%95%E5%AF%BC%E9%85%8D%E7%BD%AE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E7%BC%96%E5%86%99%20Shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E9%97%AE%E9%A2%98%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%94%B1%20Bash%20%E6%88%96%E8%80%85%20zsh%20%E6%89%A7%E8%A1%8C%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%98%AF%E8%87%AA%E5%8A%A8%E5%8C%96%E9%87%8D%E5%A4%8D%E4%BB%BB%E5%8A%A1%E7%9A%84%E5%A5%BD%E6%96%B9%E6%B3%95%E3%80%82Node.js%20%E4%BC%BC%E4%B9%8E%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E7%90%86%E6%83%B3%E9%80%89%E6%8B%A9%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E8%AE%B8%E5%A4%9A%E6%A0%B8%E5%BF%83%E6%A8%A1%E5%9D%97%EF%BC%8C%E5%B9%B6%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E5%AF%BC%E5%85%A5%E4%BB%BB%E4%BD%95%E6%88%91%E4%BB%AC%E9%80%89%E6%8B%A9%E7%9A%84%E5%BA%93%E3%80%82%E5%AE%83%E8%BF%98%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%AE%BF%E9%97%AE%20JavaScript%20%E6%8F%90%E4%BE%9B%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E5%92%8C%E5%86%85%E7%BD%AE%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E4%BD%A0%E5%B0%9D%E8%AF%95%E7%BC%96%E5%86%99%E8%BF%90%E8%A1%8C%E5%9C%A8%20Node.js%20%E4%B8%AD%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E4%BD%A0%E4%BC%9A%E5%8F%91%E7%8E%B0%E8%BF%99%E6%B2%A1%E6%9C%89%E4%BD%A0%E6%83%B3%E8%B1%A1%E4%B8%AD%E7%9A%84%E9%82%A3%E4%B9%88%E9%A1%BA%E5%88%A9%E3%80%82%E4%BD%A0%E9%9C%80%E8%A6%81%E4%B8%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%BC%96%E5%86%99%E7%89%B9%E6%AE%8A%E7%9A%84%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%EF%BC%8C%E6%B3%A8%E6%84%8F%E8%BD%AC%E4%B9%89%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%EF%BC%8C%E7%84%B6%E5%90%8E%E6%9C%80%E7%BB%88%E4%B8%8E%20stdout%EF%BC%88%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%89%E5%92%8C%20stderr%EF%BC%88%E6%A0%87%E5%87%86%E9%94%99%E8%AF%AF%EF%BC%89%E6%89%93%E4%BA%A4%E9%81%93%E3%80%82%E8%BF%99%E4%B8%8D%E6%98%AF%E7%89%B9%E5%88%AB%E7%9B%B4%E8%A7%82%EF%BC%8C%E8%80%8C%E4%B8%94%E4%BC%9A%E4%BD%BF%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E7%9B%B8%E5%BD%93%E7%AC%A8%E6%8B%99%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EBash%20shell%20%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E6%99%AE%E9%81%8D%E9%80%89%E6%8B%A9%E3%80%82%E4%B8%8D%E9%9C%80%E8%A6%81%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%E6%9D%A5%E5%A4%84%E7%90%86%E5%AD%90%E8%BF%9B%E7%A8%8B%EF%BC%8C%E8%80%8C%E4%B8%94%E5%AE%83%E6%9C%89%E5%86%85%E7%BD%AE%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E6%9D%A5%E5%A4%84%E7%90%86%20stdout%20%E5%92%8C%20stderr%E3%80%82%E4%BD%86%E6%98%AF%E7%94%A8%20Bash%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E4%B9%9F%E4%B8%8D%E6%98%AF%E9%82%A3%E4%B9%88%E5%AE%B9%E6%98%93%E3%80%82%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9B%B8%E5%BD%93%E6%B7%B7%E4%B9%B1%EF%BC%8C%E4%BD%BF%E5%BE%97%E5%AE%83%E5%AE%9E%E7%8E%B0%E9%80%BB%E8%BE%91%EF%BC%8C%E6%88%96%E8%80%85%E5%A4%84%E7%90%86%E8%AF%B8%E5%A6%82%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E7%9A%84%E4%BA%8B%E6%83%85%E9%9D%9E%E5%B8%B8%E5%9B%B0%E9%9A%BE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%9C%89%E5%8A%A9%E4%BA%8E%E8%AE%A9%E4%BD%BF%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E9%AB%98%E6%95%88%E5%92%8C%E8%88%92%E9%80%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BE%80%E4%B8%8B%E9%98%85%E8%AF%BB%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%E9%9C%80%E8%A6%81%E9%81%B5%E5%BE%AA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%90%86%E6%83%B3%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E4%BD%A0%E5%BA%94%E8%AF%A5%E7%86%9F%E6%82%89%20JavaScript%20%E5%92%8C%20Node.js%20%E7%9A%84%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E9%80%82%E5%BA%94%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20Node.js%20%26gt%3B%3D%20v14.13.1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cbr%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E4%BB%8E%20GitHub%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DysCUhsc%252BhqUmtqCo55t8jw%253D%253D.aWhjUaPje6eTlkcFFdhW%252FeIVYyAz5G%252FoPbGuXjsxlpcJphMKguwz3NoHWQ9o2vDb47Nfnm9kpIP6Ol5r6Euc8A%253D%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E8%8E%B7%E5%BE%97%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E8%BF%90%E4%BD%9C%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EGoogle%20%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%88%9B%E5%BB%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%A4%84%E7%90%86%E8%BF%99%E4%BA%9B%E8%BF%9B%E7%A8%8B%E7%9A%84%20stdout%20%E5%92%8C%20stderr%20%E7%9A%84%E5%87%BD%E6%95%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E7%9A%84%E4%B8%BB%E8%A6%81%E5%87%BD%E6%95%B0%E6%98%AF%24%E5%87%BD%E6%95%B0%E3%80%82%E4%B8%8B%E9%9D%A2%E6%98%AF%E5%AE%83%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AE%9E%E9%99%85%E4%BE%8B%E5%AD%90%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnawait%26nbsp%3B%24%60ls%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E6%89%A7%E8%A1%8C%E4%B8%8A%E8%BF%B0%E4%BB%A3%E7%A0%81%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnbootstrap-tool%5Cnhello-world%5Cnnode_modules%5Cnpackage.json%5CnREADME.md%5Cntypescript%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%E7%9A%84%20JavaScript%20%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9C%8B%E8%B5%B7%E6%9D%A5%E6%9C%89%E7%82%B9%E5%8F%A4%E6%80%AA%E3%80%82%E5%AE%83%E4%BD%BF%E7%94%A8%E4%BA%86%E4%B8%80%E7%A7%8D%E5%8F%AB%E5%81%9A%E5%B8%A6%E6%A0%87%E7%AD%BE%E7%9A%84%E6%A8%A1%E6%9D%BF%E5%AD%97%E7%AC%A6%E4%B8%B2%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DVUkodq5er%252Fynbhfl3MUQZA%253D%253D.%252Flx6oaDCVK4XuYyYLqvDi2QMWjCwW1jKBvNQgfaGG0AVwpl7I2CYD4sJYHuonDSA6jj1qSSypc0aGVO%252BYuBMUiibG6pBkVwusg%252Bai1hbMXetqlwMTWVUEAbtabMCbXIs%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E3%80%82%E5%AE%83%E5%9C%A8%E5%8A%9F%E8%83%BD%E4%B8%8A%E4%B8%8E%E7%BC%96%E5%86%99%20await%20%24(%26%2334%3Bls%26%2334%3B)%E7%9B%B8%E5%90%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%85%B6%E4%BB%96%E5%87%A0%E4%B8%AA%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%EF%BC%8C%E4%BD%BF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E6%9B%B4%E5%AE%B9%E6%98%93%E3%80%82%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ecd()%E3%80%82%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E6%9B%B4%E6%94%B9%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Equestion()%E3%80%82%E8%BF%99%E6%98%AF%20Node.js%20readline%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%8C%85%E8%A3%85%E5%99%A8%E3%80%82%E5%AE%83%E4%BD%BF%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E5%8F%98%E5%BE%97%E7%AE%80%E5%8D%95%E6%98%8E%E4%BA%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%99%A4%E4%BA%86%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%A4%96%EF%BC%8C%E5%AE%83%E8%BF%98%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E5%87%A0%E4%B8%AA%E6%B5%81%E8%A1%8C%E7%9A%84%E5%BA%93%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Echalk%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D%252FL15Y8OQNrp05Scx6N4iaQ%253D%253D.r8AZkfcE1Ye%252BlNUznFA9RNJMhfyM0lttTiD0TmqjJQwoi7zjQjs5YiLjI%252FWDEooY%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%99%E4%B8%AA%E5%BA%93%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E4%B8%BA%E8%84%9A%E6%9C%AC%E7%9A%84%E8%BE%93%E5%87%BA%E6%B7%BB%E5%8A%A0%E9%A2%9C%E8%89%B2%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Eminimist%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5tMQ5d6qJ4STEHZeuiN0MA%253D%253D.x9GPOpXVZp5TGKknZCkwA10QP%252Ftw%252BW7fwnpYGg%252BnlJPJLK3RboT3jqy5WuPLFwPZ%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E4%B8%AA%E8%A7%A3%E6%9E%90%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E7%9A%84%E5%BA%93%E3%80%82%E7%84%B6%E5%90%8E%E5%AE%83%E4%BB%AC%E5%9C%A8%20argv%20%E5%AF%B9%E8%B1%A1%E4%B8%8B%E8%A2%AB%E6%9A%B4%E9%9C%B2%E5%87%BA%E6%9D%A5%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efetch%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D71LC44tCu%252FZoLOY2B7MfuA%253D%253D.GO%252FMi37T0KTmj8UXau9xdFUBiIk1I%252F8M%252FHk2hZYrhRb%252Fd3Vl0bzlr05hanNxzuVb%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EFetch%20API%20%E7%9A%84%20Node.js%20%E5%AE%9E%E7%8E%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E8%BF%9B%E8%A1%8C%20HTTP%20%E8%AF%B7%E6%B1%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efs-extra%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DcPZzXniTRFJdbq87FdwLWw%253D%253D.IsmhSUEjIcZAqw8FDidbUnNhhIVPT1gsFSo%252BchiXCAs9AaxUVT%252FEgbIvswUDVmK2%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%B8%80%E4%B8%AA%E6%9A%B4%E9%9C%B2%20Node.js%20%E6%A0%B8%E5%BF%83%20fs%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%BA%93%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B9%E6%B3%95%EF%BC%8C%E4%BD%BF%E5%85%B6%E6%9B%B4%E5%AE%B9%E6%98%93%E4%B8%8E%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%80%E8%B5%B7%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9F%A5%E9%81%93%E4%BA%86%20zx%20%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E4%BB%80%E4%B9%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E7%94%A8%E5%AE%83%E5%88%9B%E5%BB%BA%E7%AC%AC%E4%B8%80%E4%B8%AA%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bzx-shell-scripts%5Cncd%26nbsp%3Bzx-shell-scripts%5Cnnpm%26nbsp%3Binit%26nbsp%3B--yes%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%AE%89%E8%A3%85%20zx%20%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bzx%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E7%9A%84%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E7%94%A8%20npm%20%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E8%AF%A5%E5%BA%93%E3%80%82%E9%80%9A%E8%BF%87%E5%B0%86%E5%85%B6%E5%AE%89%E8%A3%85%E4%B8%BA%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%A1%AE%E4%BF%9D%20zx%20%E6%80%BB%E6%98%AF%E8%A2%AB%E5%AE%89%E8%A3%85%EF%BC%8C%E5%B9%B6%E6%8E%A7%E5%88%B6%20shell%20%E8%84%9A%E6%9C%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E7%89%88%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A1%B6%E7%BA%A7%20await%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%20Node.js%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E9%A1%B6%E7%BA%A7%20await%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%20await%20%E4%BD%8D%E4%BA%8E%20async%20%E5%87%BD%E6%95%B0%E7%9A%84%E5%A4%96%E9%83%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%9C%A8%20ES%20%E6%A8%A1%E5%9D%97%E7%9A%84%E6%A8%A1%E5%BC%8F%E4%B8%8B%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%EF%BC%8C%E8%AF%A5%E6%A8%A1%E5%BC%8F%E6%94%AF%E6%8C%81%E9%A1%B6%E7%BA%A7%20await%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%20package.json%20%E4%B8%AD%E6%B7%BB%E5%8A%A0%20%26%2334%3Btype%26%2334%3B%3A%20%26%2334%3Bmodule%26%2334%3B%20%E6%80%8E%E4%B9%88%E6%80%8E%E4%B9%88%E6%9D%A5%E8%A1%A8%E6%98%8E%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%A8%A1%E5%9D%97%E9%83%BD%E6%98%AF%20ES%20%E6%A8%A1%E5%9D%97%E3%80%82%E6%88%96%E8%80%85%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%B0%86%E5%8D%95%E4%B8%AA%E8%84%9A%E6%9C%AC%E7%9A%84%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E8%AE%BE%E7%BD%AE%E4%B8%BA%20.mjs%20%E3%80%82%E5%9C%A8%E6%9C%AC%E6%96%87%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20.mjs%20%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E5%B9%B6%E6%8D%95%E8%8E%B7%E8%BE%93%E5%87%BA%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B0%86%E5%85%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world.mjs%20%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%AE%83%E5%91%8A%E8%AF%89%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%88OS%EF%BC%89%E7%9A%84%E5%86%85%E6%A0%B8%E8%A6%81%E7%94%A8%20node%20%E7%A8%8B%E5%BA%8F%E8%BF%90%E8%A1%8C%E8%AF%A5%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%BA%9B%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%BD%BF%E7%94%A8%20zx%20%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8B%E9%9D%A2%E7%9A%84%E4%BB%A3%E7%A0%81%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%20ls%20%E7%A8%8B%E5%BA%8F%E3%80%82ls%20%E7%A8%8B%E5%BA%8F%E5%B0%86%E5%88%97%E5%87%BA%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%88%E8%84%9A%E6%9C%AC%E6%89%80%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%EF%BC%89%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BB%8E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BF%9B%E7%A8%8B%E4%B8%AD%E6%8D%95%E8%8E%B7%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B0%86%E5%85%B6%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E7%84%B6%E5%90%8E%E6%89%93%E5%8D%B0%E5%88%B0%E7%BB%88%E7%AB%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cnconsole.log(output)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E6%8A%8A%2Fusr%2Fbin%2Fenv%20zx%20%E6%94%BE%E5%9C%A8%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E7%9A%84%20shebang%20%E8%A1%8C%E4%B8%AD%EF%BC%8C%E4%BD%86%E6%88%91%E4%BB%AC%E7%94%A8%2Fusr%2Fbin%2Fenv%20node%20%E4%BB%A3%E6%9B%BF%E3%80%82%E8%BF%99%E6%98%AF%E5%9B%A0%E4%B8%BA%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%20zx%EF%BC%8C%E5%B9%B6%E4%BD%9C%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E6%98%8E%E7%A1%AE%E5%9C%B0%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E6%83%B3%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%E3%80%82%E8%BF%99%E6%9C%89%E5%8A%A9%E4%BA%8E%E6%98%8E%E7%A1%AE%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E4%BE%9D%E8%B5%96%E6%9D%A5%E8%87%AA%E5%93%AA%E9%87%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%20chmod%20%E6%9D%A5%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E5%A6%82%E4%B8%8B%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%88ls%EF%BC%89%E8%A2%AB%E5%8C%85%E5%90%AB%E5%9C%A8%E8%BE%93%E5%87%BA%E4%B8%AD%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%E6%98%BE%E7%A4%BA%E4%B8%A4%E6%AC%A1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BE%93%E5%87%BA%E7%9A%84%E6%9C%AB%E5%B0%BE%E5%A4%9A%E4%BA%86%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E9%BB%98%E8%AE%A4%E4%BB%A5%20verbose%20%E6%A8%A1%E5%BC%8F%E8%BF%90%E8%A1%8C%E3%80%82%E5%AE%83%E5%B0%86%E8%BE%93%E5%87%BA%E4%BD%A0%E4%BC%A0%E9%80%92%E7%BB%99%24%E5%87%BD%E6%95%B0%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%90%8C%E6%97%B6%E4%B9%9F%E8%BE%93%E5%87%BA%E8%AF%A5%E5%91%BD%E4%BB%A4%E7%9A%84%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%E8%BF%90%E8%A1%8C%20ls%20%E5%91%BD%E4%BB%A4%E5%89%8D%E5%8A%A0%E5%85%A5%E4%BB%A5%E4%B8%8B%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E6%9D%A5%E6%94%B9%E5%8F%98%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A4%A7%E5%A4%9A%E6%95%B0%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%A6%82%20ls%EF%BC%8C%E4%BC%9A%E5%9C%A8%E5%85%B6%E8%BE%93%E5%87%BA%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E5%AD%97%E7%AC%A6%EF%BC%8C%E4%BB%A5%E4%BD%BF%E8%BE%93%E5%87%BA%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E6%9B%B4%E6%98%93%E8%AF%BB%E3%80%82%E8%BF%99%E5%AF%B9%E5%8F%AF%E8%AF%BB%E6%80%A7%E6%9C%89%E5%A5%BD%E5%A4%84%EF%BC%8C%E4%BD%86%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E8%A6%81%E5%B0%86%E8%BE%93%E5%87%BA%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E6%9C%89%E8%BF%99%E4%B8%AA%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B0%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%20JavaScript%20String%23trim()%E5%87%BD%E6%95%B0%E6%8A%8A%E5%AE%83%E5%8E%BB%E6%8E%89%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E-%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cn%2B%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout.trim()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%86%8D%E6%AC%A1%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E7%BB%93%E6%9E%9C%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%A5%BD%E5%BE%88%E5%A4%9A%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ehello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%BC%95%E5%85%A5%20TypeScript%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E6%83%B3%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%BC%96%E5%86%99%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%BE%AE%E5%B0%8F%E7%9A%84%E5%8C%BA%E5%88%AB%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%8A%A0%E4%BB%A5%E8%AF%B4%E6%98%8E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9ATypeScript%20%E7%BC%96%E8%AF%91%E5%99%A8%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E5%AE%83%E5%A6%82%E4%BD%95%E7%BC%96%E8%AF%91%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%E8%80%83%E8%99%91%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E4%B8%8B%E9%9D%A2%E7%9A%84%20TypeScript%20%E9%85%8D%E7%BD%AE%E5%92%8C%E4%BB%A3%E7%A0%81%E6%98%AF%E4%B8%BA%E4%BA%86%E5%9C%A8%E5%A4%A7%E5%A4%9A%E6%95%B0%20TypeScript%20%E7%89%88%E6%9C%AC%E4%B8%8B%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E5%AE%89%E8%A3%85%E9%9C%80%E8%A6%81%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E7%9A%84%E4%BE%9D%E8%B5%96%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Btypescript%26nbsp%3Bts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ets-node%20%E5%8C%85%E6%8F%90%E4%BE%9B%E4%BA%86%E4%B8%80%E4%B8%AA%20TypeScript%20%E6%89%A7%E8%A1%8C%E5%BC%95%E6%93%8E%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E8%83%BD%E5%A4%9F%E8%BD%AC%E8%AF%91%E5%92%8C%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%9C%80%E8%A6%81%E5%88%9B%E5%BB%BA%20tsconfig.json%20%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E4%B8%8B%E9%9D%A2%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%7B%5Cn%26%2334%3BcompilerOptions%26%2334%3B%3A%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Btarget%26%2334%3B%3A%26nbsp%3B%26%2334%3Bes2017%26%2334%3B%2C%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Bmodule%26%2334%3B%3A%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5Cn%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E6%96%B0%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B9%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world-typescript.ts%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E6%B7%BB%E5%8A%A0%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%91%8A%E8%AF%89%20OS%20%E5%86%85%E6%A0%B8%E4%BD%BF%E7%94%A8%20ts-node%20%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B.%2Fnode_modules%2F.bin%2Fts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E4%B8%AD%E4%BD%BF%E7%94%A8%20await%20%E5%85%B3%E9%94%AE%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E6%8A%8A%E5%AE%83%E5%8C%85%E8%A3%85%E5%9C%A8%E4%B8%80%E4%B8%AA%E7%AB%8B%E5%8D%B3%E8%B0%83%E7%94%A8%E5%87%BD%E6%95%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%EF%BC%88IIFE%EF%BC%89%E4%B8%AD%EF%BC%8C%E6%AD%A3%E5%A6%82%20zx%20%E6%96%87%E6%A1%A3%E6%89%80%E5%BB%BA%E8%AE%AE%E7%9A%84%E9%82%A3%E6%A0%B7%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world-typescript.ts%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnvoid%26nbsp%3B(async%26nbsp%3Bfunction%26nbsp%3B()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60ls%60%3B%5Cn%7D)()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E9%9C%80%E8%A6%81%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E4%B8%8B%E9%9D%A2%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world-typescript.ts%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cntsconfig.json%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%E8%84%9A%E6%9C%AC%E4%B8%8E%E4%BD%BF%E7%94%A8%20JavaScript%20%E7%9B%B8%E4%BC%BC%EF%BC%8C%E4%BD%86%E9%9C%80%E8%A6%81%E5%AF%B9%E6%88%91%E4%BB%AC%E7%9A%84%E4%BB%A3%E7%A0%81%E8%BF%9B%E8%A1%8C%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E9%85%8D%E7%BD%AE%E5%92%8C%E5%8C%85%E8%A3%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%9E%84%E5%BB%BA%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E7%94%A8%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AF%86%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E7%94%A8%E5%AE%83%E6%9D%A5%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B7%A5%E5%85%B7%E3%80%82%E8%BF%99%E4%B8%AA%E5%B7%A5%E5%85%B7%E5%B0%86%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E9%80%9A%E5%B8%B8%E5%BE%88%E8%80%97%E6%97%B6%E7%9A%84%E8%BF%87%E7%A8%8B%EF%BC%9A%E4%B8%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E7%9A%84%E9%85%8D%E7%BD%AE%E6%8F%90%E4%BE%9B%E5%BC%95%E5%AF%BC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BA%A4%E4%BA%92%E5%BC%8F%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E3%80%82%E5%AE%83%E8%BF%98%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E5%86%85%E7%BD%AE%E7%9A%84%20chalk%20%E5%BA%93%EF%BC%8C%E4%BB%A5%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A2%9C%E8%89%B2%E9%AB%98%E4%BA%AE%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B9%B6%E6%8F%90%E4%BE%9B%E4%B8%80%E4%B8%AA%E5%8F%8B%E5%A5%BD%E7%9A%84%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C%E3%80%82%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E8%BF%98%E5%B0%86%E5%AE%89%E8%A3%85%E6%96%B0%E9%A1%B9%E7%9B%AE%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%EF%BC%8C%E6%89%80%E4%BB%A5%E5%AE%83%E5%B7%B2%E7%BB%8F%E5%87%86%E5%A4%87%E5%A5%BD%E8%AE%A9%E6%88%91%E4%BB%AC%E7%AB%8B%E5%8D%B3%E5%BC%80%E5%A7%8B%E5%BC%80%E5%8F%91%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%87%86%E5%A4%87%E5%BC%80%E5%A7%8B%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%90%8D%E4%B8%BA%20bootstrap-tool.mjs%20%E7%9A%84%E6%96%B0%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B9%B6%E6%B7%BB%E5%8A%A0%20shebang%20%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E6%A8%A1%E5%9D%97%EF%BC%8C%E4%BB%A5%E5%8F%8A%20Node.js%20%E6%A0%B8%E5%BF%83%20path%20%E6%A8%A1%E5%9D%97%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%2F%2F%26nbsp%3Bbootstrap-tool.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%2C%26nbsp%3Bargv%2C%26nbsp%3Bcd%2C%26nbsp%3Bchalk%2C%26nbsp%3Bfs%2C%26nbsp%3Bquestion%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnimport%26nbsp%3Bpath%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bpath%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8E%E6%88%91%E4%BB%AC%E4%B9%8B%E5%89%8D%E5%88%9B%E5%BB%BA%E7%9A%84%E8%84%9A%E6%9C%AC%E4%B8%80%E6%A0%B7%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bbootstrap-tool.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E7%94%A8%E7%BA%A2%E8%89%B2%E6%96%87%E6%9C%AC%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%EF%BC%8C%E5%B9%B6%E4%BB%A5%E9%94%99%E8%AF%AF%E9%80%80%E5%87%BA%E4%BB%A3%E7%A0%81%201%20%E9%80%80%E5%87%BA%20Node.js%20%E8%BF%9B%E7%A8%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Efunction%26nbsp%3BexitWithError(errorMessage)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconsole.error(chalk.red(errorMessage))%3B%5Cn%26nbsp%3B%26nbsp%3Bprocess.exit(1)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BD%93%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%A4%84%E7%90%86%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E9%80%9A%E8%BF%87%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%9C%A8%E5%90%84%E4%B8%AA%E5%9C%B0%E6%96%B9%E4%BD%BF%E7%94%A8%E8%BF%99%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%E4%B8%89%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%9Agit%E3%80%81node%20%E5%92%8C%20npx%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20which%20%E5%BA%93%E6%9D%A5%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E6%A3%80%E6%9F%A5%E8%BF%99%E4%BA%9B%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%E5%B9%B6%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20which%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bwhich%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%BC%95%E5%85%A5%E5%AE%83%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3Bwhich%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bwhich%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BD%BF%E7%94%A8%E5%AE%83%E7%9A%84%20checkRequiredProgramsExist%20%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckRequiredProgramsExist(programs)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3Bprogram%26nbsp%3Bof%26nbsp%3Bprograms)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bwhich(program)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BRequired%26nbsp%3Bcommand%26nbsp%3B%24%7Berror.message%7D%60)%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%90%8D%E7%A7%B0%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%95%B0%E7%BB%84%EF%BC%8C%E5%AF%B9%E6%AF%8F%E4%B8%AA%E7%A8%8B%E5%BA%8F%E8%B0%83%E7%94%A8%20which%20%E5%87%BD%E6%95%B0%E3%80%82%E5%A6%82%E6%9E%9C%20which%20%E6%89%BE%E5%88%B0%E4%BA%86%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%B7%AF%E5%BE%84%EF%BC%8C%E5%AE%83%E5%B0%86%E8%BF%94%E5%9B%9E%E8%AF%A5%E7%A8%8B%E5%BA%8F%E3%80%82%E5%90%A6%E5%88%99%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%AF%A5%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E6%8A%9B%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E3%80%82%E5%A6%82%E6%9E%9C%E6%9C%89%E4%BB%BB%E4%BD%95%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E8%B0%83%E7%94%A8%20exitWithError%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%E5%B9%B6%E5%81%9C%E6%AD%A2%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%8F%AF%E4%BB%A5%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%AF%B9%20checkRequiredProgramsExist%20%E7%9A%84%E8%B0%83%E7%94%A8%EF%BC%8C%E4%BB%A5%E6%A3%80%E6%9F%A5%E6%88%91%E4%BB%AC%E7%9A%84%E5%B7%A5%E5%85%B7%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%8F%AF%E7%94%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckRequiredProgramsExist(%5B%26%2334%3Bgit%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnode%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnpx%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%B7%BB%E5%8A%A0%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E9%80%89%E9%A1%B9%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%B0%86%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E5%90%AF%E5%8A%A8%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%88%91%E4%BB%AC%E5%B8%8C%E6%9C%9B%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9A%84%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E3%80%82%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E8%A6%81%E7%BB%99%E8%84%9A%E6%9C%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20--directory%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E5%86%85%E7%BD%AE%E4%BA%86%20minimist%20%E5%8C%85%EF%BC%8C%E5%AE%83%E8%83%BD%E5%A4%9F%E8%A7%A3%E6%9E%90%E4%BC%A0%E9%80%92%E7%BB%99%E8%84%9A%E6%9C%AC%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%E8%BF%99%E4%BA%9B%E8%A2%AB%E8%A7%A3%E6%9E%90%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E8%A2%AB%20zx%20%E5%8C%85%E4%BD%9C%E4%B8%BA%20argv%20%E6%8F%90%E4%BE%9B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E5%90%8D%E4%B8%BA%20directory%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E6%A3%80%E6%9F%A5%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Elet%26nbsp%3BtargetDirectory%26nbsp%3B%3D%26nbsp%3Bargv.directory%3B%5Cnif%26nbsp%3B(!targetDirectory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%26%2334%3BError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%26%2334%3B)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%20directory%20%E5%8F%82%E6%95%B0%E8%A2%AB%E4%BC%A0%E9%80%92%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%E5%AE%83%E6%98%AF%E5%90%A6%E6%98%AF%E5%B7%B2%E7%BB%8F%E5%AD%98%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%E7%9A%84%E8%B7%AF%E5%BE%84%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%8F%90%E4%BE%9B%E7%9A%84%20fs.pathExists%20%E6%96%B9%E6%B3%95%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3EtargetDirectory%26nbsp%3B%3D%26nbsp%3Bpath.resolve(targetDirectory)%3B%5Cnif%26nbsp%3B(!(await%26nbsp%3Bfs.pathExists(targetDirectory)))%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BTarget%26nbsp%3Bdirectory%26nbsp%3B%26%2339%3B%24%7BtargetDirectory%7D%26%2339%3B%26nbsp%3Bdoes%26nbsp%3Bnot%26nbsp%3Bexist%60)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E8%B7%AF%E5%BE%84%E5%AD%98%E5%9C%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%20cd%20%E5%87%BD%E6%95%B0%E6%9D%A5%E5%88%87%E6%8D%A2%E5%BD%93%E5%89%8D%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%9A%E2%80%8D%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ecd(targetDirectory)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%9C%A8%E6%B2%A1%E6%9C%89--directory%20%E5%8F%82%E6%95%B0%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E5%BA%94%E8%AF%A5%E4%BC%9A%E6%94%B6%E5%88%B0%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3B.%2Fbootstrap-tool.mjs%5CnError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E5%85%A8%E5%B1%80%20Git%20%E8%AE%BE%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%A8%8D%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%8C%E4%BD%86%E9%A6%96%E5%85%88%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%20Git%20%E6%98%AF%E5%90%A6%E6%9C%89%E5%AE%83%E9%9C%80%E8%A6%81%E7%9A%84%E9%85%8D%E7%BD%AE%E3%80%82%E6%88%91%E4%BB%AC%E8%A6%81%E7%A1%AE%E4%BF%9D%E6%8F%90%E4%BA%A4%E4%BC%9A%E8%A2%AB%20GitHub%20%E7%AD%89%E4%BB%A3%E7%A0%81%E6%89%98%E7%AE%A1%E6%9C%8D%E5%8A%A1%E6%AD%A3%E7%A1%AE%E5%BD%92%E7%B1%BB%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%81%9A%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E8%BF%99%E9%87%8C%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E7%B4%A2%20Git%20%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%E7%9A%84%E5%80%BC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetGlobalGitSettingValue(settingName)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B%26%2334%3B%26%2334%3B%3B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60git%26nbsp%3Bconfig%26nbsp%3B--global%26nbsp%3B--get%26nbsp%3B%24%7BsettingName%7D%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B).stdout.trim()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%2F%2F%26nbsp%3BIgnore%26nbsp%3Bprocess%26nbsp%3Boutput%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BsettingValue%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E5%85%B3%E9%97%AD%20zx%20%E9%BB%98%E8%AE%A4%E8%AE%BE%E7%BD%AE%E7%9A%84%20verbose%20%E6%A8%A1%E5%BC%8F%E3%80%82%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%EF%BC%8C%E5%BD%93%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%97%B6%EF%BC%8C%E8%AF%A5%E5%91%BD%E4%BB%A4%E5%92%8C%E5%AE%83%E5%8F%91%E9%80%81%E5%88%B0%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E7%9A%84%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9%E9%83%BD%E4%B8%8D%E4%BC%9A%E8%A2%AB%E6%98%BE%E7%A4%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%9C%A8%E5%87%BD%E6%95%B0%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E5%B0%86%20verbose%20%E6%A8%A1%E5%BC%8F%E9%87%8D%E6%96%B0%E6%89%93%E5%BC%80%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E5%BD%B1%E5%93%8D%E5%88%B0%E6%88%91%E4%BB%AC%E7%A8%8D%E5%90%8E%E5%9C%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%85%B6%E4%BB%96%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%20checkGlobalGitSettings%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A5%E5%87%BD%E6%95%B0%E6%8E%A5%E6%94%B6%20Git%20%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%E7%BB%84%E6%88%90%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%B0%86%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%AF%8F%E4%B8%AA%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E4%BC%A0%E9%80%92%E7%BB%99%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E4%BB%A5%E6%A3%80%E7%B4%A2%E5%85%B6%E5%80%BC%E3%80%82%E5%A6%82%E6%9E%9C%E8%AE%BE%E7%BD%AE%E6%B2%A1%E6%9C%89%E5%80%BC%EF%BC%8C%E5%B0%86%E6%98%BE%E7%A4%BA%E8%AD%A6%E5%91%8A%E4%BF%A1%E6%81%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckGlobalGitSettings(settingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3BsettingName%26nbsp%3Bof%26nbsp%3BsettingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetGlobalGitSettingValue(settingName)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!settingValue)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.warn(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.yellow(%60Warning%3A%26nbsp%3BGlobal%26nbsp%3Bgit%26nbsp%3Bsetting%26nbsp%3B%26%2339%3B%24%7BsettingName%7D%26%2339%3B%26nbsp%3Bis%26nbsp%3Bnot%26nbsp%3Bset.%60)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E7%BB%99%20checkGlobalGitSettings%20%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E8%B0%83%E7%94%A8%EF%BC%8C%E6%A3%80%E6%9F%A5%20user.name%20%E5%92%8C%20user.email%20%E7%9A%84%20Git%20%E8%AE%BE%E7%BD%AE%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E8%A2%AB%E8%AE%BE%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckGlobalGitSettings(%5B%26%2334%3Buser.name%26%2334%3B%2C%26nbsp%3B%26%2334%3Buser.email%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%88%9D%E5%A7%8B%E5%8C%96%20Git%20%E4%BB%93%E5%BA%93%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E6%B7%BB%E5%8A%A0%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Binit%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20package.json%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%AF%8F%E4%B8%AA%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%83%BD%E9%9C%80%E8%A6%81%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E8%BF%99%E6%98%AF%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E5%AE%9A%E4%B9%89%E5%85%83%E6%95%B0%E6%8D%AE%E7%9A%84%E5%9C%B0%E6%96%B9%EF%BC%8C%E6%8C%87%E5%AE%9A%E9%A1%B9%E7%9B%AE%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E5%8C%85%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%B7%BB%E5%8A%A0%E5%AE%9E%E7%94%A8%E7%9A%84%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%94%9F%E6%88%90%20package.json%20%E6%96%87%E4%BB%B6%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E5%87%A0%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%98%AF%20readPackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%AF%BB%E5%8F%96%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BreadPackageJson(directory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3Bfs.readJSON(packageJsonFilepath)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20writePackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E5%90%91%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E5%86%99%E5%85%A5%E6%9B%B4%E6%94%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BwritePackageJson(directory%2C%26nbsp%3Bcontents)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bfs.writeJSON(packageJsonFilepath%2C%26nbsp%3Bcontents%2C%26nbsp%3B%7B%26nbsp%3Bspaces%3A%26nbsp%3B2%26nbsp%3B%7D)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%20fs.readJSON%20%E5%92%8C%20fs.writeJSON%20%E6%96%B9%E6%B3%95%E6%98%AF%E7%94%B1%20fs-extra%20%E5%BA%93%E6%8F%90%E4%BE%9B%E7%9A%84%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E5%AE%9A%E4%B9%89%E4%BA%86%20package.json%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%BC%80%E5%A7%8B%E8%80%83%E8%99%91%20package.json%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E6%94%AF%E6%8C%81%E4%B8%A4%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ECommonJS%20Modules%20(CJS)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DKTweLvts6a1zOlUbn0cnCA%253D%253D.WRSoJ3t37Y2GYjanjStt81N%252BkCOGoR11gK8pv6Fck09uaKTSXHq5mvMcWutIRxYU%3C%2Fspan%3E%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%BF%E7%94%A8%20module.exports%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20require()%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EECMAScript%20Modules%20(ESM)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DOUbF%252BkjeOpAlt3Fo9PFGFw%253D%253D.Ex%252BQVnop7rVNKtYxrnp%252Fhcm08eFRE7K2XLUBlFFQ7D4%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%BD%BF%E7%94%A8%20export%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20import%20%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E7%94%9F%E6%80%81%E7%B3%BB%E7%BB%9F%E6%AD%A3%E5%9C%A8%E9%80%90%E6%AD%A5%E9%87%87%E7%94%A8%20ES%20%E6%A8%A1%E5%9D%97%EF%BC%8C%E8%BF%99%E5%9C%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%20JavaScript%20%E4%B8%AD%E6%98%AF%E5%BE%88%E5%B8%B8%E8%A7%81%E7%9A%84%E3%80%82%E5%BD%93%E4%BA%8B%E6%83%85%E5%A4%84%E4%BA%8E%E8%BF%87%E6%B8%A1%E9%98%B6%E6%AE%B5%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%86%B3%E5%AE%9A%E6%88%91%E4%BB%AC%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%BB%98%E8%AE%A4%E4%BD%BF%E7%94%A8%20CJS%20%E6%A8%A1%E5%9D%97%E8%BF%98%E6%98%AF%20ESM%20%E6%A8%A1%E5%9D%97%E3%80%82%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%BF%99%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForModuleSystem(moduleSystems)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Which%26nbsp%3BNode.js%26nbsp%3Bmodule%26nbsp%3Bsystem%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Buse%3F%26nbsp%3B(%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26nbsp%3Bor%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D)%26nbsp%3B%60%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchoices%3A%26nbsp%3BmoduleSystems%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BmoduleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E5%87%BD%E6%95%B0%E4%BD%BF%E7%94%A8%E7%9A%84%20question%20%E5%87%BD%E6%95%B0%E7%94%B1%20zx%20%E6%8F%90%E4%BE%9B%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getNodeModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E8%B0%83%E7%94%A8%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E6%A3%80%E6%9F%A5%E6%89%80%E8%BE%93%E5%85%A5%E7%9A%84%E5%80%BC%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%8D%E6%98%AF%EF%BC%8C%E5%AE%83%E5%B0%86%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetNodeModuleSystem()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystems%26nbsp%3B%3D%26nbsp%3B%5B%26%2334%3Bmodule%26%2334%3B%2C%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForModuleSystem(moduleSystems)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BisValidModuleSystem%26nbsp%3B%3D%26nbsp%3BmoduleSystems.includes(selectedModuleSystem)%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!isValidModuleSystem)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BModule%26nbsp%3Bsystem%26nbsp%3Bmust%26nbsp%3Bbe%26nbsp%3Beither%26nbsp%3B%26%2339%3B%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26%2339%3B%26nbsp%3Bor%26nbsp%3B%26%2339%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%26%2339%3B%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BselectedModuleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E8%BF%90%E8%A1%8C%20npm%20init%20%E5%91%BD%E4%BB%A4%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npm%26nbsp%3Binit%26nbsp%3B--yes%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E8%AF%BB%E5%8F%96%E6%96%B0%E5%88%9B%E5%BB%BA%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E8%AF%A2%E9%97%AE%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%B3%BB%E7%BB%9F%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA%20packageJson%20%E5%AF%B9%E8%B1%A1%E4%B8%AD%E7%9A%84%20type%20%E5%B1%9E%E6%80%A7%E5%80%BC%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%E5%85%B6%E5%86%99%E5%9B%9E%E5%88%B0%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackageJson%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5CnpackageJson.type%26nbsp%3B%3D%26nbsp%3BselectedModuleSystem%3B%5Cnawait%26nbsp%3BwritePackageJson(targetDirectory%2C%26nbsp%3BpackageJson)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%8F%90%E7%A4%BA%EF%BC%9A%E5%BD%93%E4%BD%A0%E7%94%A8--yes%20%E6%A0%87%E5%BF%97%E8%BF%90%E8%A1%8C%20npm%20init%20%E6%97%B6%EF%BC%8C%E8%A6%81%E6%83%B3%E5%9C%A8%20package.json%20%E4%B8%AD%E8%8E%B7%E5%BE%97%E5%90%88%E7%90%86%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%EF%BC%8C%E8%AF%B7%E7%A1%AE%E4%BF%9D%E4%BD%A0%E8%AE%BE%E7%BD%AE%E4%BA%86%20npminit-*%E7%9A%84%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DX0aVKO8sVtj0bgZhFmgjVw%253D%253D.hxYbJxX5X2odlcPpk5MdIVLkT7ESAsFMhFnFSRBftI2c2BjNTUCtV1gwdXnpxWGI%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E9%A1%B9%E7%9B%AE%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E4%BD%BF%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E5%90%8E%E8%83%BD%E5%A4%9F%E8%BD%BB%E6%9D%BE%E5%9C%B0%E5%BC%80%E5%A7%8B%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForPackages%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E5%93%AA%E4%BA%9B%20npm%20%E5%8C%85%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForPackages()%26nbsp%3B%7B%5Cnlet%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3BWhich%26nbsp%3Bnpm%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Binstall%26nbsp%3Bfor%26nbsp%3Bthis%26nbsp%3Bproject%3F%26nbsp%3B%26%2334%3B%5Cn)%3B%5CnpackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall%5Cn%26nbsp%3B%26nbsp%3B.trim()%5Cn%26nbsp%3B%26nbsp%3B.split(%26%2334%3B%26nbsp%3B%26%2334%3B)%5Cn%26nbsp%3B%26nbsp%3B.filter((pkg)%26nbsp%3B%3D%26gt%3B%26nbsp%3Bpkg)%3B%5Cnreturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E9%98%B2%E6%AD%A2%E6%88%91%E4%BB%AC%E5%9C%A8%E8%BE%93%E5%85%A5%E5%8C%85%E5%90%8D%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E5%88%AB%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20identifyInvalidNpmPackages%20%E5%87%BD%E6%95%B0%E3%80%82%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E5%B0%86%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%20npm%20%E5%8C%85%E5%90%8D%E6%95%B0%E7%BB%84%EF%BC%8C%E7%84%B6%E5%90%8E%E8%BF%90%E8%A1%8C%20npm%20view%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E6%9F%A5%E5%AE%83%E4%BB%AC%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BidentifyInvalidNpmPackages(packages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3B%5B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(const%26nbsp%3Bpkg%26nbsp%3Bof%26nbsp%3Bpackages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Bview%26nbsp%3B%24%7Bpkg%7D%60%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BinvalidPackages.push(pkg)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BinvalidPackages%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getPackagesToInstall%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E5%88%9A%E5%88%9A%E5%88%9B%E5%BB%BA%E7%9A%84%E4%B8%A4%E4%B8%AA%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetPackagesToInstall()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForPackages()%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BidentifyInvalidNpmPackages(packagesToInstall)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BallPackagesExist%26nbsp%3B%3D%26nbsp%3BinvalidPackages.length%26nbsp%3B%3D%3D%3D%26nbsp%3B0%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!allPackagesExist)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BThe%26nbsp%3Bfollowing%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Bnot%26nbsp%3Bexist%26nbsp%3Bon%26nbsp%3Bnpm%3A%26nbsp%3B%24%7BinvalidPackages.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%2C%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%9C%89%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%90%8D%E7%A7%B0%E4%B8%8D%E6%AD%A3%E7%A1%AE%EF%BC%8C%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E6%97%A6%E6%88%91%E4%BB%AC%E5%BE%97%E5%88%B0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E6%9C%89%E6%95%88%E5%8C%85%E5%88%97%E8%A1%A8%EF%BC%8C%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20npm%20install%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E5%AE%89%E8%A3%85%E5%AE%83%E4%BB%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cnconst%26nbsp%3BhavePackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall.length%26nbsp%3B%26gt%3B%26nbsp%3B0%3B%5Cnif%26nbsp%3B(havePackagesToInstall)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Binstall%26nbsp%3B%24%7BpackagesToInstall%7D%60%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E4%B8%BA%E5%B7%A5%E5%85%B7%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE%E6%98%AF%E6%88%91%E4%BB%AC%E7%94%A8%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E7%9A%84%E6%9C%80%E4%BD%B3%E4%BA%8B%E9%A1%B9%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA.gitignore%20%E6%96%87%E4%BB%B6%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E6%84%8F%E5%A4%96%E5%9C%B0%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E5%9C%A8%20Git%20%E4%BB%93%E5%BA%93%E4%B8%AD%E5%87%BA%E7%8E%B0%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bgitignore%26nbsp%3Bnode%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8%20gitignore%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DV%252FIoxipE2WxmNECDRNKMqg%253D%253D.7Y4d34n%252BoUVlJkYEiJt3NLa9RHn2pYtKq%252BHpO67HIQjfjKAHIxcMynZzTudktHaV%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E5%8C%85%EF%BC%8C%E4%BB%8E%20GitHub%20%E7%9A%84%20gitignore%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3E%20https%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DSzh56TKqT6gYmrJidM7ZXg%253D%253D.BK7Vf5F73GaplJKeN48OsobM6U4EPriatZOr3dBhsSVZIuIUiktyqfS1jhLLtQ7o%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E6%A8%A1%E6%9D%BF%E4%B8%AD%E6%8B%89%E5%8F%96%20Node.js%20%E7%9A%84.gitignore%20%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E7%9A%84%20EditorConfig%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DdGD5%252BEyCTqLfqDSif7%252FHgQ%253D%253D.xgNWBjR6m%252FIUFlG1UmM3CYX2R%252BLXFN531lZhlvCRRWs%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%81Prettier%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3Dn7clHFqLMZZala0zu1JjdQ%253D%253D.jivAg4cL8HkSAhuurMUHrlfhGGILOpveTQR0rjCRXyg%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%92%8C%20ESLint%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DJ4jXEAmmBQ83%252FWSrOtTsAQ%253D%253D.b%252FKC0kT%252FZWZQ9KBItXDMQHWJBzc5aW9hUZsxWHBsMY4%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E4%B8%80%E4%B8%AA%E5%8F%AB%E5%81%9A%20Mrm%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E7%9A%84%20mrm%20%E4%BE%9D%E8%B5%96%E9%A1%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--global%26nbsp%3Bmrm%26nbsp%3Bmrm-task-editorconfig%26nbsp%3Bmrm-task-prettier%26nbsp%3Bmrm-task-eslint%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%B7%BB%E5%8A%A0%20mrm%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beditorconfig%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Bprettier%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beslint%60%3B%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EMrm%20%E8%B4%9F%E8%B4%A3%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%E3%80%82%E5%AE%83%E8%BF%98%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E7%94%9F%E6%88%90%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BB%A5%E7%AC%A6%E5%90%88%E6%88%91%E4%BB%AC%E7%9A%84%E4%B8%AA%E4%BA%BA%E5%81%8F%E5%A5%BD%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20README%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E7%9A%84%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%E8%AF%BB%E5%8F%96%E9%A1%B9%E7%9B%AE%E5%90%8D%E7%A7%B0%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA%E5%9F%BA%E6%9C%AC%E7%9A%84%20Markdown%20%E6%A0%BC%E5%BC%8F%E7%9A%84%20README%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E5%86%99%E5%85%A5%20README.md%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3B%7B%26nbsp%3Bname%3A%26nbsp%3BprojectName%26nbsp%3B%7D%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BreadmeContents%26nbsp%3B%3D%26nbsp%3B%60%23%26nbsp%3B%24%7BprojectName%7D%5Cn...%5Cn%60%3B%5Cnawait%26nbsp%3Bfs.writeFile(%60%24%7BtargetDirectory%7D%2FREADME.md%60%2C%26nbsp%3BreadmeContents)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%9A%B4%E9%9C%B2%E7%9A%84%20fs.writeFile%20%E7%9A%84%20promise%20%E5%8F%98%E9%87%8F%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%8F%90%E4%BA%A4%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%80%E5%90%8E%EF%BC%8C%E6%98%AF%E6%97%B6%E5%80%99%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E7%94%A8%20git%20%E5%88%9B%E5%BB%BA%E7%9A%84%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%E4%BA%86%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Badd%26nbsp%3B.%60%3B%5Cnawait%26nbsp%3B%24%60git%26nbsp%3Bcommit%26nbsp%3B-m%26nbsp%3B%26%2334%3BAdd%26nbsp%3Bproject%26nbsp%3Bskeleton%26%2334%3B%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E6%9D%A1%E6%B6%88%E6%81%AF%EF%BC%8C%E7%A1%AE%E8%AE%A4%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B7%B2%E7%BB%8F%E6%88%90%E5%8A%9F%E5%90%AF%E5%8A%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econsole.log(%5Cn%26nbsp%3B%26nbsp%3Bchalk.green(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60%5C%5Cn%E2%9C%94%EF%B8%8F%26nbsp%3BThe%26nbsp%3Bproject%26nbsp%3B%24%7BprojectName%7D%26nbsp%3Bhas%26nbsp%3Bbeen%26nbsp%3Bsuccessfully%26nbsp%3Bbootstrapped!%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B)%5Cn)%3B%5Cnconsole.log(chalk.green(%60Add%26nbsp%3Ba%26nbsp%3Bgit%26nbsp%3Bremote%26nbsp%3Band%26nbsp%3Bpush%26nbsp%3Byour%26nbsp%3Bchanges.%60))%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%90%AF%E5%8A%A8%E6%96%B0%E9%A1%B9%E7%9B%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bnew-project%5Cn.%2Fbootstrap-tool.mjs%26nbsp%3B--directory%26nbsp%3Bnew-project%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%B9%B6%E8%A7%82%E7%9C%8B%E6%88%91%E4%BB%AC%E6%89%80%E5%81%9A%E7%9A%84%E4%B8%80%E5%88%87%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%80%BB%E7%BB%93%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E5%A6%82%E4%BD%95%E5%9C%A8%20Node.js%20%E4%B8%AD%E5%80%9F%E5%8A%A9%20Google%20%E7%9A%84%20zx%20%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E5%BC%BA%E5%A4%A7%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E4%BA%86%E5%AE%83%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%92%8C%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%81%B5%E6%B4%BB%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%B0%E7%9B%AE%E5%89%8D%E4%B8%BA%E6%AD%A2%EF%BC%8C%E6%88%91%E4%BB%AC%E6%89%80%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%8F%AA%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BC%80%E5%A7%8B%E3%80%82%E8%BF%99%E9%87%8C%E6%9C%89%E4%B8%80%E4%BA%9B%E5%8A%9F%E8%83%BD%E7%82%B9%E5%AD%90%EF%BC%8C%E4%BD%A0%E5%8F%AF%E8%83%BD%E6%83%B3%E5%B0%9D%E8%AF%95%E8%87%AA%E5%B7%B1%E6%B7%BB%E5%8A%A0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E3%80%82%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E8%BF%98%E4%B8%8D%E5%AD%98%E5%9C%A8%EF%BC%8C%E5%88%99%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E5%B9%B6%E8%AF%A2%E9%97%AE%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E6%83%B3%E8%A6%81%E4%B8%BA%E4%BB%96%E4%BB%AC%E5%88%9B%E5%BB%BA%E8%AF%A5%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BC%80%E6%BA%90%E5%8D%AB%E7%94%9F%E3%80%82%E9%97%AE%E9%97%AE%E7%94%A8%E6%88%B7%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E5%9C%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B0%86%E6%98%AF%E5%BC%80%E6%BA%90%E7%9A%84%E9%A1%B9%E7%9B%AE%E3%80%82%E5%A6%82%E6%9E%9C%E6%98%AF%E7%9A%84%E8%AF%9D%EF%BC%8C%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E8%AE%B8%E5%8F%AF%E8%AF%81%E5%92%8C%E8%B4%A1%E7%8C%AE%E8%80%85%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%20GitHub%20%E4%B8%8A%E7%9A%84%E4%BB%93%E5%BA%93%E3%80%82%E6%B7%BB%E5%8A%A0%E4%BD%BF%E7%94%A8%20GitHub%20CLI%20%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%9C%A8%20GitHub%20%E4%B8%8A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E3%80%82%E4%B8%80%E6%97%A6%E7%94%A8%20Git%20%E6%8F%90%E4%BA%A4%E4%BA%86%E5%88%9D%E5%A7%8B%E9%AA%A8%E6%9E%B6%EF%BC%8C%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E6%8E%A8%E9%80%81%E5%88%B0%E8%BF%99%E4%B8%AA%E4%BB%93%E5%BA%93%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E5%9C%A8%20GitHub%20%E4%B8%8A%E6%89%BE%E5%88%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E8%AF%91%E8%87%AA%EF%BC%9A%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5Z%252ByLQNgua%252FY5gnguxXllg%253D%253D.SeNINYETng%252BH6uZupDjhsYNRqM5GWB5jXVDlvMdMqsO9u3CmWfwe8DwT48iAvK%252Fsm8pflQ8jbxHc1sB281%252B6pA%253D%253D%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%9C%E8%80%85%EF%BC%9A%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3ESimon%20Plenderleith%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BB%A5%E4%B8%8A%E5%B0%B1%E6%98%AF%E6%9C%AC%E6%96%87%E7%9A%84%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9%E3%80%82%E5%A6%82%E6%9E%9C%E5%AF%B9%E4%BD%A0%E6%9C%89%E6%89%80%E5%B8%AE%E5%8A%A9%EF%BC%8C%E6%AC%A2%E8%BF%8E%E7%82%B9%E8%B5%9E%E3%80%81%E6%94%B6%E8%97%8F%E3%80%81%E8%BD%AC%E5%8F%91~%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Chr%3E%22%2C%22imageList%22%3A%5B%5D%2C%22mediaInfo%22%3A%7B%22userId%22%3A%22MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH%22%2C%22unsafeUserId%22%3A%224288553596503552%22%2C%22name%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22avatarUrl%22%3A%22https%3A%2F%2Fsf3-cdn-tos.toutiaostatic.com%2Fimg%2Fuser-avatar%2Fc14bb151d3505084033c82ee8238acde~300x300.image%22%2C%22description%22%3A%22%E6%AC%A2%E8%BF%8E%E5%85%B3%E6%B3%A8VX%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22userVerified%22%3A1%7D%2C%22seoTDK%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC-%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1%22%2C%22description%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22keywords%22%3A%22%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%2CNode.js%2CGoogle%2CJavaScript%2CBash%2CTypeScript%2CZsh%2CGitHub%2C%E7%BE%8E%E5%A5%BD%EF%BC%8C%E4%B8%80%E7%9B%B4%E5%9C%A8%E8%BA%AB%E8%BE%B9%22%2C%22publishTimestamp%22%3A%221678237205%22%2C%22modifiedTimestamp%22%3A%221685548306%22%7D%2C%22cover%22%3A%22https%3A%2F%2Fp3-sign.toutiaoimg.com%2Flarge%2Ftos-cn-i-qvj2lq49k0%2F7894dd4439eb4e78ad35208f496e841a%3F_iz%3D58558%26from%3Darticle.pc_detail%26x-expires%3D1690103402%26x-signature%3D5z%252FNWR2V4o%252B5W0fhczXkGuaSyYE%253D%22%2C%22logId%22%3A%222023071617100290B65219A60FE2C10ABA%22%2C%22sylpageConfig%22%3A%7B%22card%22%3A%7B%22id%22%3A%22%22%7D%7D%2C%22identity%22%3A%7B%22web_id%22%3A%227235169635611018810%22%2C%22user_is_login%22%3Afalse%7D%2C%22abtestInfo%22%3A%7B%22rsp_type%22%3A5%2C%22version_name%22%3A%224938400%22%2C%22parameters%22%3A%7B%22filter%22%3A%7B%22debug_enable_pc_small_video%22%3Afalse%2C%22enable_pc_small_video%22%3Atrue%7D%2C%22home_nav_conf%22%3A%7B%22dcd_out%22%3A1%7D%2C%22optimus%22%3A%7B%22rule_rank_rules%22%3A%22ranking_rule_list%20%7B%5Cn%20%20id%3A%201221233%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2212123%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%202%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%2020458%5Cn%20%20priority%3A%203%5Cn%20%20enabled%3A%20true%5Cn%20%20category%3A%2020458%5Cn%20%20type%3A%20WINDOW%5Cn%20%20window_rule%20%7B%5Cn%20%20%20%20type%3A%20SLIDE%5Cn%20%20%20%20size%3A%203%5Cn%20%20%20%20max%3A%201%5Cn%20%20%7D%5Cn%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%201111024%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2211024%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%206%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%22%7D%2C%22page_upgrade%22%3A%7B%22new_profile%22%3Atrue%2C%22video_double_column%22%3Atrue%7D%2C%22recall%22%3A%7B%22debug_filter_reason_list%22%3A%5B%5D%2C%22debug_recall_reason_list%22%3A%5B70%2C71%2C72%2C73%2C80%2C83%5D%2C%22enable_debug_filter_reason%22%3Atrue%2C%22enable_debug_recall_reason%22%3Atrue%2C%22friend_feed%22%3A%7B%22control_nums%22%3A1500%2C%22count%22%3A1000%2C%22enable%22%3Atrue%2C%22enable_cpp_friend_feed%22%3Atrue%2C%22enable_friend_feed_container_filter%22%3Atrue%2C%22enable_group_status_filter%22%3Atrue%2C%22params%22%3A%7B%7D%2C%22top_k%22%3A10%2C%22use_new_friend_recall%22%3Atrue%2C%22valid_group_source%22%3A%5B2%2C5%2C15%2C23%2C16%2C19%2C21%2C132%5D%2C%22weight%22%3A20%7D%7D%2C%22seraph%22%3A%7B%22rule_rank_rules_pc_small%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20%20%20%20%20%20id%3A%2022124%20%5Cn%20%20%20%20%20%20%20%20%20priority%3A%200%20%5Cn%20%20%20%20%20%20%20%20%20tags%3A%20%5C%2222124%5C%22%20%5Cn%20%20%20%20%20%20%20%20%20enabled%3A%20true%20%5Cn%20%20%20%20%20%20%20%20%20type%3A%20CARD%20%5Cn%20%20%20%20%20%20%20%20%20card_rule%20%7B%20%5Cn%20%20%20%20%20%20%20%20%20size%3A%206%20%5Cn%20%20%20%20%20%20%20%20%20num_cards%3A%201%5Cn%20%20%20%20%20%20%20%20%20type%3A%20SAME_SLOT%20%5Cn%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%22%2C%22rule_rank_rules_pc_small_window%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20id%3A%20222124%5Cn%20%20%20priority%3A%200%5Cn%20%20%20tags%3A%20%5C%2222124%5C%22%5Cn%20%20%20%20enabled%3A%20false%5Cn%20%20%20%20type%3A%20WINDOW%5Cn%20%20%20%20window_rule%20%7B%5Cn%20%20%20type%3A%20SLIDE%20%5Cn%20%20%20size%3A%2012%20%5Cn%20%20%20max%3A%206%20%5Cn%20%20%20%7D%5Cn%20%20%20%7D%22%7D%2C%22small_sort%22%3A%7B%22enable_filter_zhanwai%22%3Atrue%2C%22filter_genre_plog%22%3Afalse%2C%22filter_genre_small%22%3Afalse%2C%22skip_small_app_version_filter%22%3Afalse%2C%22skip_small_genre_filter%22%3Afalse%7D%2C%22sort%22%3A%7B%22allowed_ticai%22%3A%5B%22forum_post%22%2C%22pgc_text%22%2C%22pgc_video%22%2C%22short_video%22%5D%2C%22enable_optimus_gen_pc_mv_card%22%3Atrue%2C%22enable_optimus_gen_pc_sv_card%22%3Atrue%2C%22enable_pc_skip_app_smallvideo_card%22%3Atrue%7D%2C%22ugc_sort%22%3A%7B%22expore_smallvideo%22%3Atrue%7D%2C%22video_channel%22%3A%7B%22use_feed%22%3A1%2C%22rank%22%3A5%7D%7D%2C%22env_flag%22%3A0%7D%2C%22localCityInfo%22%3A%7B%22name%22%3A%22%E8%A5%84%E9%98%B3%22%2C%22code%22%3A%22420600%22%2C%22channelId%22%3A3202181326%7D%2C%22voteLink%22%3A%5B%7B%22keyword%22%3A%22%E6%9C%AB%E4%B8%96%E9%87%8D%E7%94%9F%EF%BC%8C%E6%88%91%E6%8A%A2%E4%BA%86%E5%A5%B3%E4%B8%BB%E7%9A%84%E9%87%91%E6%89%8B%E6%8C%87%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7045105728742231079%22%7D%2C%7B%22keyword%22%3A%22%E4%BA%BA%E5%9C%A8%E6%B5%B7%E8%B4%BC%3A%E6%88%91%E6%88%90%E4%B8%BA%E4%BA%86%E6%B5%B7%E5%86%9B%E5%A5%B3%E7%8E%8B%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7070145477789879300%22%7D%2C%7B%22keyword%22%3A%22%E6%B2%A1%E7%9E%8E%E7%9C%BC%E4%B8%89%E5%B9%B4%EF%BC%8C%E4%BD%86%E6%88%91%E7%9A%84%E5%AD%A6%E7%94%9F%E4%B8%8D%E6%98%AF%E4%BA%BA%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7118385133568134175%22%7D%2C%7B%22keyword%22%3A%22%E7%9C%9F%E5%8D%83%E9%87%91%E4%BB%8E%E4%BF%AE%E7%9C%9F%E7%95%8C%E5%9B%9E%E6%9D%A5%E4%BA%86%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F6983183491827502094%22%7D%2C%7B%22keyword%22%3A%22%E5%BC%82%E4%B8%96%E7%9B%B8%E9%81%87%E5%B0%BD%E4%BA%AB%E7%A4%BE%E6%AD%BB%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F583844%22%7D%2C%7B%22keyword%22%3A%22python%20ols%E5%9B%9E%E5%BD%92%E5%88%86%E6%9E%90%E7%BB%93%E6%9E%9C%E6%80%8E%E4%B9%88%E7%9C%8B%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131680%22%7D%2C%7B%22keyword%22%3A%22%E7%A5%9E%E5%A5%87%E5%AE%9D%E8%B4%9D%E4%B9%8B%E5%85%A8%E8%83%BD%E6%8E%8C%E9%97%A8%E4%BA%BA%E8%87%B4%E5%85%89%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F738595%22%7D%2C%7B%22keyword%22%3A%22%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3java8%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131722%22%7D%2C%7B%22keyword%22%3A%22linux%20mysql%20%E6%97%A5%E5%BF%97%E6%B8%85%E7%90%86%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1182964%22%7D%2C%7B%22keyword%22%3A%22%E6%88%91%E5%9C%A8%E5%AE%9D%E5%8F%AF%E6%A2%A6%E4%B8%96%E7%95%8C%E6%88%90%E4%B8%BA%E7%AC%AC%E4%B8%80%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F188604%22%7D%5D%2C%22grSensitive%22%3Afalse%2C%22showResearch%22%3Afalse%2C%22blockVisibility%22%3A%7B%22hotBoard%22%3Atrue%2C%22hotVideo%22%3Atrue%2C%22relatedRecommend%22%3Atrue%7D%2C%22isGreyTheme%22%3Afalse%2C%22searchBot%22%3Anull%7D%7D
ls`).stdout;
+constoutput=(await
社区精选|如何使用 zx 编写 shell 脚本-*今条头日**
{"@context":"https://schema.org","@type":"NewsArticle","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.toutiao.com/article/7207743318715793920/"},"headline":"社区精选|如何使用 zx 编写 shell 脚本","description":"在这篇文章中,我们将学习谷歌的 zx 库提供了什么,以及我们如何使用它来用 Node.js 编写 shell 脚本。","image":[],"datePublished":"2023-03-08T01:00:05.000Z","dateModified":"2023-05-31T15:51:46.000Z","author":{"@type":"Person","name":"计算科学与信息化","url":"https://www.toutiao.com/c/user/token/MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH/"},"publisher":{"@type":"Organization","name":"*今条头日**","logo":{"@type":"ImageObject","url":"https://lf3-static.bytednsdoc.com/obj/eden-cn/uhbfnupkbps/216.png"}}}
!function(r,e,t,n,s,a,o,i,c,l,d,p,m,f){a="precollect",o="getAttribute",i="addEventListener",(l=function(e){(d=[].slice.call(arguments)).push(Date.now(),location.href),(e==a?l.p.a:l.q).push(d)}).q=[],l.p={a:[]},r[s]=l,(p=document.createElement("script")).src=t+"?bid=toutiao_web_pc&globalName="+s,p.crossOrigin=0
window.Slardar&&window.Slardar("init",{bid:"toutiao_web_pc",pid:"news_article_detail",release:"1.0.0.1822",env:"online",sample:{sample_rate:1},plugins:{ajax:{ignoreUrls:["mcs.snssdk.com","mcs.zijieapi.com","i.snssdk.com","verify.snssdk.com","vcs.snssdk.com","mon.zijieapi.com","mon.snssdk.com"]},pageview:{routeMode:"manual"},blankScreen:{rootSelector:"#root"}}})
!function(n,t){if(n.LogAnalyticsObject=t,!n[t]){function c(){c.q.push(arguments)}c.q=c.q||[],n[t]=c}n[t].l=+new Date}(window,"collectEvent")
window.collectEvent("usePlugin","autotrack"),window.collectEvent("usePlugin","stay"),window.collectEvent("init",{app_id:24,channel:"cn",autotrack:{custom:"tea",text:!0},enable_stay_duration:!0}),window.collectEvent("config",{evtParams:{url:window.location.href,screen_width:window.screen.width,screen_height:window.screen.height,screen_inner_width:window.innerWidth,screen_inner_height:window.innerHeight}})
window.byted_acrawler&&window.byted_acrawler.init({aid:24,dfp:!0})
window.TTGCaptcha&&window.TTGCaptcha.init({commonOptions:{aid:24,iid:"0",did:"0"}})
window.secsdk&&window.secsdk.csrf.setProtectedHost({"www.toutiao.com":{GET:[],POST:[/^\/api\/pc\/user\/fans_digg/,/^\/api\/pc\/user\/delete/,/^\/api\/pc\/user\/follow/,/^\/c\/ugc\/content\/repost/,/^\/group\/repin/,/^\/group\/unrepin/,/^\/api\/pc\/user\/stick/,/^\/api\/pc\/user\/unstick/,/^\/c\/user\/unfollow/,/^\/wenda\/v5\/interact\/followanswer/,/^\/wenda\/v5\/interact\/followquestion/,/^\/wenda\/v5\/interact\/digganswer/,/^\/wenda\/v5\/interact\/deleteanswer/,/^\/user_data\/batch_action/],PUT:[],PATCH:[],DELETE:[]}})
"undefined"!=typeof window&&"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("/sw.js").catch(function(e){window.Slardar&&window.Slardar("emit","counter",{name:"sw-register-error",value:1})})})
function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-QEHZPBE5HH")
%7B%22data%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%22%2C%22abstract%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22articleType%22%3A%22article%22%2C%22itemId%22%3A%227207743318715793920%22%2C%22groupId%22%3A%227207743318715793920%22%2C%22groupSource%22%3A2%2C%22isOriginal%22%3Afalse%2C%22banComment%22%3Afalse%2C%22publishTime%22%3A%222023-03-08%2009%3A00%22%2C%22source%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22tag%22%3A%22technique%22%2C%22mediaSite%22%3Anull%2C%22pathname%22%3A%22%2Farticle%2F7207743318715793920%2F%22%2C%22useCandle%22%3Afalse%2C%22isExclusive%22%3Afalse%2C%22favorite%22%3Afalse%2C%22relation%22%3A%7B%22isFollowing%22%3Afalse%2C%22isFollowed%22%3Afalse%7D%2C%22likeData%22%3A%7B%22userLikeStatus%22%3A0%2C%22count%22%3A1%7D%2C%22isSelf%22%3Afalse%2C%22content%22%3A%22%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%89%8D%E8%A8%80%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E6%9D%A5%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E5%BC%95%E5%AF%BC%E9%85%8D%E7%BD%AE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E7%BC%96%E5%86%99%20Shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E9%97%AE%E9%A2%98%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%94%B1%20Bash%20%E6%88%96%E8%80%85%20zsh%20%E6%89%A7%E8%A1%8C%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%98%AF%E8%87%AA%E5%8A%A8%E5%8C%96%E9%87%8D%E5%A4%8D%E4%BB%BB%E5%8A%A1%E7%9A%84%E5%A5%BD%E6%96%B9%E6%B3%95%E3%80%82Node.js%20%E4%BC%BC%E4%B9%8E%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E7%90%86%E6%83%B3%E9%80%89%E6%8B%A9%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E8%AE%B8%E5%A4%9A%E6%A0%B8%E5%BF%83%E6%A8%A1%E5%9D%97%EF%BC%8C%E5%B9%B6%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E5%AF%BC%E5%85%A5%E4%BB%BB%E4%BD%95%E6%88%91%E4%BB%AC%E9%80%89%E6%8B%A9%E7%9A%84%E5%BA%93%E3%80%82%E5%AE%83%E8%BF%98%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%AE%BF%E9%97%AE%20JavaScript%20%E6%8F%90%E4%BE%9B%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E5%92%8C%E5%86%85%E7%BD%AE%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E4%BD%A0%E5%B0%9D%E8%AF%95%E7%BC%96%E5%86%99%E8%BF%90%E8%A1%8C%E5%9C%A8%20Node.js%20%E4%B8%AD%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E4%BD%A0%E4%BC%9A%E5%8F%91%E7%8E%B0%E8%BF%99%E6%B2%A1%E6%9C%89%E4%BD%A0%E6%83%B3%E8%B1%A1%E4%B8%AD%E7%9A%84%E9%82%A3%E4%B9%88%E9%A1%BA%E5%88%A9%E3%80%82%E4%BD%A0%E9%9C%80%E8%A6%81%E4%B8%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%BC%96%E5%86%99%E7%89%B9%E6%AE%8A%E7%9A%84%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%EF%BC%8C%E6%B3%A8%E6%84%8F%E8%BD%AC%E4%B9%89%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%EF%BC%8C%E7%84%B6%E5%90%8E%E6%9C%80%E7%BB%88%E4%B8%8E%20stdout%EF%BC%88%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%89%E5%92%8C%20stderr%EF%BC%88%E6%A0%87%E5%87%86%E9%94%99%E8%AF%AF%EF%BC%89%E6%89%93%E4%BA%A4%E9%81%93%E3%80%82%E8%BF%99%E4%B8%8D%E6%98%AF%E7%89%B9%E5%88%AB%E7%9B%B4%E8%A7%82%EF%BC%8C%E8%80%8C%E4%B8%94%E4%BC%9A%E4%BD%BF%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E7%9B%B8%E5%BD%93%E7%AC%A8%E6%8B%99%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EBash%20shell%20%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E6%99%AE%E9%81%8D%E9%80%89%E6%8B%A9%E3%80%82%E4%B8%8D%E9%9C%80%E8%A6%81%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%E6%9D%A5%E5%A4%84%E7%90%86%E5%AD%90%E8%BF%9B%E7%A8%8B%EF%BC%8C%E8%80%8C%E4%B8%94%E5%AE%83%E6%9C%89%E5%86%85%E7%BD%AE%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E6%9D%A5%E5%A4%84%E7%90%86%20stdout%20%E5%92%8C%20stderr%E3%80%82%E4%BD%86%E6%98%AF%E7%94%A8%20Bash%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E4%B9%9F%E4%B8%8D%E6%98%AF%E9%82%A3%E4%B9%88%E5%AE%B9%E6%98%93%E3%80%82%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9B%B8%E5%BD%93%E6%B7%B7%E4%B9%B1%EF%BC%8C%E4%BD%BF%E5%BE%97%E5%AE%83%E5%AE%9E%E7%8E%B0%E9%80%BB%E8%BE%91%EF%BC%8C%E6%88%96%E8%80%85%E5%A4%84%E7%90%86%E8%AF%B8%E5%A6%82%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E7%9A%84%E4%BA%8B%E6%83%85%E9%9D%9E%E5%B8%B8%E5%9B%B0%E9%9A%BE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%9C%89%E5%8A%A9%E4%BA%8E%E8%AE%A9%E4%BD%BF%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E9%AB%98%E6%95%88%E5%92%8C%E8%88%92%E9%80%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BE%80%E4%B8%8B%E9%98%85%E8%AF%BB%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%E9%9C%80%E8%A6%81%E9%81%B5%E5%BE%AA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%90%86%E6%83%B3%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E4%BD%A0%E5%BA%94%E8%AF%A5%E7%86%9F%E6%82%89%20JavaScript%20%E5%92%8C%20Node.js%20%E7%9A%84%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E9%80%82%E5%BA%94%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20Node.js%20%26gt%3B%3D%20v14.13.1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cbr%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E4%BB%8E%20GitHub%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DysCUhsc%252BhqUmtqCo55t8jw%253D%253D.aWhjUaPje6eTlkcFFdhW%252FeIVYyAz5G%252FoPbGuXjsxlpcJphMKguwz3NoHWQ9o2vDb47Nfnm9kpIP6Ol5r6Euc8A%253D%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E8%8E%B7%E5%BE%97%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E8%BF%90%E4%BD%9C%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EGoogle%20%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%88%9B%E5%BB%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%A4%84%E7%90%86%E8%BF%99%E4%BA%9B%E8%BF%9B%E7%A8%8B%E7%9A%84%20stdout%20%E5%92%8C%20stderr%20%E7%9A%84%E5%87%BD%E6%95%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E7%9A%84%E4%B8%BB%E8%A6%81%E5%87%BD%E6%95%B0%E6%98%AF%24%E5%87%BD%E6%95%B0%E3%80%82%E4%B8%8B%E9%9D%A2%E6%98%AF%E5%AE%83%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AE%9E%E9%99%85%E4%BE%8B%E5%AD%90%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnawait%26nbsp%3B%24%60ls%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E6%89%A7%E8%A1%8C%E4%B8%8A%E8%BF%B0%E4%BB%A3%E7%A0%81%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnbootstrap-tool%5Cnhello-world%5Cnnode_modules%5Cnpackage.json%5CnREADME.md%5Cntypescript%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%E7%9A%84%20JavaScript%20%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9C%8B%E8%B5%B7%E6%9D%A5%E6%9C%89%E7%82%B9%E5%8F%A4%E6%80%AA%E3%80%82%E5%AE%83%E4%BD%BF%E7%94%A8%E4%BA%86%E4%B8%80%E7%A7%8D%E5%8F%AB%E5%81%9A%E5%B8%A6%E6%A0%87%E7%AD%BE%E7%9A%84%E6%A8%A1%E6%9D%BF%E5%AD%97%E7%AC%A6%E4%B8%B2%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DVUkodq5er%252Fynbhfl3MUQZA%253D%253D.%252Flx6oaDCVK4XuYyYLqvDi2QMWjCwW1jKBvNQgfaGG0AVwpl7I2CYD4sJYHuonDSA6jj1qSSypc0aGVO%252BYuBMUiibG6pBkVwusg%252Bai1hbMXetqlwMTWVUEAbtabMCbXIs%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E3%80%82%E5%AE%83%E5%9C%A8%E5%8A%9F%E8%83%BD%E4%B8%8A%E4%B8%8E%E7%BC%96%E5%86%99%20await%20%24(%26%2334%3Bls%26%2334%3B)%E7%9B%B8%E5%90%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%85%B6%E4%BB%96%E5%87%A0%E4%B8%AA%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%EF%BC%8C%E4%BD%BF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E6%9B%B4%E5%AE%B9%E6%98%93%E3%80%82%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ecd()%E3%80%82%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E6%9B%B4%E6%94%B9%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Equestion()%E3%80%82%E8%BF%99%E6%98%AF%20Node.js%20readline%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%8C%85%E8%A3%85%E5%99%A8%E3%80%82%E5%AE%83%E4%BD%BF%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E5%8F%98%E5%BE%97%E7%AE%80%E5%8D%95%E6%98%8E%E4%BA%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%99%A4%E4%BA%86%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%A4%96%EF%BC%8C%E5%AE%83%E8%BF%98%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E5%87%A0%E4%B8%AA%E6%B5%81%E8%A1%8C%E7%9A%84%E5%BA%93%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Echalk%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D%252FL15Y8OQNrp05Scx6N4iaQ%253D%253D.r8AZkfcE1Ye%252BlNUznFA9RNJMhfyM0lttTiD0TmqjJQwoi7zjQjs5YiLjI%252FWDEooY%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%99%E4%B8%AA%E5%BA%93%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E4%B8%BA%E8%84%9A%E6%9C%AC%E7%9A%84%E8%BE%93%E5%87%BA%E6%B7%BB%E5%8A%A0%E9%A2%9C%E8%89%B2%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Eminimist%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5tMQ5d6qJ4STEHZeuiN0MA%253D%253D.x9GPOpXVZp5TGKknZCkwA10QP%252Ftw%252BW7fwnpYGg%252BnlJPJLK3RboT3jqy5WuPLFwPZ%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E4%B8%AA%E8%A7%A3%E6%9E%90%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E7%9A%84%E5%BA%93%E3%80%82%E7%84%B6%E5%90%8E%E5%AE%83%E4%BB%AC%E5%9C%A8%20argv%20%E5%AF%B9%E8%B1%A1%E4%B8%8B%E8%A2%AB%E6%9A%B4%E9%9C%B2%E5%87%BA%E6%9D%A5%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efetch%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D71LC44tCu%252FZoLOY2B7MfuA%253D%253D.GO%252FMi37T0KTmj8UXau9xdFUBiIk1I%252F8M%252FHk2hZYrhRb%252Fd3Vl0bzlr05hanNxzuVb%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EFetch%20API%20%E7%9A%84%20Node.js%20%E5%AE%9E%E7%8E%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E8%BF%9B%E8%A1%8C%20HTTP%20%E8%AF%B7%E6%B1%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efs-extra%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DcPZzXniTRFJdbq87FdwLWw%253D%253D.IsmhSUEjIcZAqw8FDidbUnNhhIVPT1gsFSo%252BchiXCAs9AaxUVT%252FEgbIvswUDVmK2%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%B8%80%E4%B8%AA%E6%9A%B4%E9%9C%B2%20Node.js%20%E6%A0%B8%E5%BF%83%20fs%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%BA%93%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B9%E6%B3%95%EF%BC%8C%E4%BD%BF%E5%85%B6%E6%9B%B4%E5%AE%B9%E6%98%93%E4%B8%8E%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%80%E8%B5%B7%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9F%A5%E9%81%93%E4%BA%86%20zx%20%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E4%BB%80%E4%B9%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E7%94%A8%E5%AE%83%E5%88%9B%E5%BB%BA%E7%AC%AC%E4%B8%80%E4%B8%AA%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bzx-shell-scripts%5Cncd%26nbsp%3Bzx-shell-scripts%5Cnnpm%26nbsp%3Binit%26nbsp%3B--yes%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%AE%89%E8%A3%85%20zx%20%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bzx%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E7%9A%84%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E7%94%A8%20npm%20%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E8%AF%A5%E5%BA%93%E3%80%82%E9%80%9A%E8%BF%87%E5%B0%86%E5%85%B6%E5%AE%89%E8%A3%85%E4%B8%BA%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%A1%AE%E4%BF%9D%20zx%20%E6%80%BB%E6%98%AF%E8%A2%AB%E5%AE%89%E8%A3%85%EF%BC%8C%E5%B9%B6%E6%8E%A7%E5%88%B6%20shell%20%E8%84%9A%E6%9C%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E7%89%88%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A1%B6%E7%BA%A7%20await%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%20Node.js%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E9%A1%B6%E7%BA%A7%20await%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%20await%20%E4%BD%8D%E4%BA%8E%20async%20%E5%87%BD%E6%95%B0%E7%9A%84%E5%A4%96%E9%83%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%9C%A8%20ES%20%E6%A8%A1%E5%9D%97%E7%9A%84%E6%A8%A1%E5%BC%8F%E4%B8%8B%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%EF%BC%8C%E8%AF%A5%E6%A8%A1%E5%BC%8F%E6%94%AF%E6%8C%81%E9%A1%B6%E7%BA%A7%20await%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%20package.json%20%E4%B8%AD%E6%B7%BB%E5%8A%A0%20%26%2334%3Btype%26%2334%3B%3A%20%26%2334%3Bmodule%26%2334%3B%20%E6%80%8E%E4%B9%88%E6%80%8E%E4%B9%88%E6%9D%A5%E8%A1%A8%E6%98%8E%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%A8%A1%E5%9D%97%E9%83%BD%E6%98%AF%20ES%20%E6%A8%A1%E5%9D%97%E3%80%82%E6%88%96%E8%80%85%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%B0%86%E5%8D%95%E4%B8%AA%E8%84%9A%E6%9C%AC%E7%9A%84%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E8%AE%BE%E7%BD%AE%E4%B8%BA%20.mjs%20%E3%80%82%E5%9C%A8%E6%9C%AC%E6%96%87%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20.mjs%20%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E5%B9%B6%E6%8D%95%E8%8E%B7%E8%BE%93%E5%87%BA%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B0%86%E5%85%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world.mjs%20%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%AE%83%E5%91%8A%E8%AF%89%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%88OS%EF%BC%89%E7%9A%84%E5%86%85%E6%A0%B8%E8%A6%81%E7%94%A8%20node%20%E7%A8%8B%E5%BA%8F%E8%BF%90%E8%A1%8C%E8%AF%A5%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%BA%9B%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%BD%BF%E7%94%A8%20zx%20%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8B%E9%9D%A2%E7%9A%84%E4%BB%A3%E7%A0%81%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%20ls%20%E7%A8%8B%E5%BA%8F%E3%80%82ls%20%E7%A8%8B%E5%BA%8F%E5%B0%86%E5%88%97%E5%87%BA%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%88%E8%84%9A%E6%9C%AC%E6%89%80%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%EF%BC%89%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BB%8E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BF%9B%E7%A8%8B%E4%B8%AD%E6%8D%95%E8%8E%B7%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B0%86%E5%85%B6%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E7%84%B6%E5%90%8E%E6%89%93%E5%8D%B0%E5%88%B0%E7%BB%88%E7%AB%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cnconsole.log(output)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E6%8A%8A%2Fusr%2Fbin%2Fenv%20zx%20%E6%94%BE%E5%9C%A8%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E7%9A%84%20shebang%20%E8%A1%8C%E4%B8%AD%EF%BC%8C%E4%BD%86%E6%88%91%E4%BB%AC%E7%94%A8%2Fusr%2Fbin%2Fenv%20node%20%E4%BB%A3%E6%9B%BF%E3%80%82%E8%BF%99%E6%98%AF%E5%9B%A0%E4%B8%BA%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%20zx%EF%BC%8C%E5%B9%B6%E4%BD%9C%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E6%98%8E%E7%A1%AE%E5%9C%B0%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E6%83%B3%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%E3%80%82%E8%BF%99%E6%9C%89%E5%8A%A9%E4%BA%8E%E6%98%8E%E7%A1%AE%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E4%BE%9D%E8%B5%96%E6%9D%A5%E8%87%AA%E5%93%AA%E9%87%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%20chmod%20%E6%9D%A5%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E5%A6%82%E4%B8%8B%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%88ls%EF%BC%89%E8%A2%AB%E5%8C%85%E5%90%AB%E5%9C%A8%E8%BE%93%E5%87%BA%E4%B8%AD%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%E6%98%BE%E7%A4%BA%E4%B8%A4%E6%AC%A1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BE%93%E5%87%BA%E7%9A%84%E6%9C%AB%E5%B0%BE%E5%A4%9A%E4%BA%86%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E9%BB%98%E8%AE%A4%E4%BB%A5%20verbose%20%E6%A8%A1%E5%BC%8F%E8%BF%90%E8%A1%8C%E3%80%82%E5%AE%83%E5%B0%86%E8%BE%93%E5%87%BA%E4%BD%A0%E4%BC%A0%E9%80%92%E7%BB%99%24%E5%87%BD%E6%95%B0%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%90%8C%E6%97%B6%E4%B9%9F%E8%BE%93%E5%87%BA%E8%AF%A5%E5%91%BD%E4%BB%A4%E7%9A%84%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%E8%BF%90%E8%A1%8C%20ls%20%E5%91%BD%E4%BB%A4%E5%89%8D%E5%8A%A0%E5%85%A5%E4%BB%A5%E4%B8%8B%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E6%9D%A5%E6%94%B9%E5%8F%98%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A4%A7%E5%A4%9A%E6%95%B0%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%A6%82%20ls%EF%BC%8C%E4%BC%9A%E5%9C%A8%E5%85%B6%E8%BE%93%E5%87%BA%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E5%AD%97%E7%AC%A6%EF%BC%8C%E4%BB%A5%E4%BD%BF%E8%BE%93%E5%87%BA%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E6%9B%B4%E6%98%93%E8%AF%BB%E3%80%82%E8%BF%99%E5%AF%B9%E5%8F%AF%E8%AF%BB%E6%80%A7%E6%9C%89%E5%A5%BD%E5%A4%84%EF%BC%8C%E4%BD%86%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E8%A6%81%E5%B0%86%E8%BE%93%E5%87%BA%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E6%9C%89%E8%BF%99%E4%B8%AA%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B0%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%20JavaScript%20String%23trim()%E5%87%BD%E6%95%B0%E6%8A%8A%E5%AE%83%E5%8E%BB%E6%8E%89%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E-%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cn%2B%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout.trim()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%86%8D%E6%AC%A1%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E7%BB%93%E6%9E%9C%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%A5%BD%E5%BE%88%E5%A4%9A%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ehello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%BC%95%E5%85%A5%20TypeScript%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E6%83%B3%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%BC%96%E5%86%99%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%BE%AE%E5%B0%8F%E7%9A%84%E5%8C%BA%E5%88%AB%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%8A%A0%E4%BB%A5%E8%AF%B4%E6%98%8E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9ATypeScript%20%E7%BC%96%E8%AF%91%E5%99%A8%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E5%AE%83%E5%A6%82%E4%BD%95%E7%BC%96%E8%AF%91%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%E8%80%83%E8%99%91%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E4%B8%8B%E9%9D%A2%E7%9A%84%20TypeScript%20%E9%85%8D%E7%BD%AE%E5%92%8C%E4%BB%A3%E7%A0%81%E6%98%AF%E4%B8%BA%E4%BA%86%E5%9C%A8%E5%A4%A7%E5%A4%9A%E6%95%B0%20TypeScript%20%E7%89%88%E6%9C%AC%E4%B8%8B%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E5%AE%89%E8%A3%85%E9%9C%80%E8%A6%81%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E7%9A%84%E4%BE%9D%E8%B5%96%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Btypescript%26nbsp%3Bts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ets-node%20%E5%8C%85%E6%8F%90%E4%BE%9B%E4%BA%86%E4%B8%80%E4%B8%AA%20TypeScript%20%E6%89%A7%E8%A1%8C%E5%BC%95%E6%93%8E%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E8%83%BD%E5%A4%9F%E8%BD%AC%E8%AF%91%E5%92%8C%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%9C%80%E8%A6%81%E5%88%9B%E5%BB%BA%20tsconfig.json%20%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E4%B8%8B%E9%9D%A2%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%7B%5Cn%26%2334%3BcompilerOptions%26%2334%3B%3A%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Btarget%26%2334%3B%3A%26nbsp%3B%26%2334%3Bes2017%26%2334%3B%2C%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Bmodule%26%2334%3B%3A%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5Cn%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E6%96%B0%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B9%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world-typescript.ts%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E6%B7%BB%E5%8A%A0%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%91%8A%E8%AF%89%20OS%20%E5%86%85%E6%A0%B8%E4%BD%BF%E7%94%A8%20ts-node%20%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B.%2Fnode_modules%2F.bin%2Fts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E4%B8%AD%E4%BD%BF%E7%94%A8%20await%20%E5%85%B3%E9%94%AE%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E6%8A%8A%E5%AE%83%E5%8C%85%E8%A3%85%E5%9C%A8%E4%B8%80%E4%B8%AA%E7%AB%8B%E5%8D%B3%E8%B0%83%E7%94%A8%E5%87%BD%E6%95%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%EF%BC%88IIFE%EF%BC%89%E4%B8%AD%EF%BC%8C%E6%AD%A3%E5%A6%82%20zx%20%E6%96%87%E6%A1%A3%E6%89%80%E5%BB%BA%E8%AE%AE%E7%9A%84%E9%82%A3%E6%A0%B7%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world-typescript.ts%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnvoid%26nbsp%3B(async%26nbsp%3Bfunction%26nbsp%3B()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60ls%60%3B%5Cn%7D)()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E9%9C%80%E8%A6%81%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E4%B8%8B%E9%9D%A2%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world-typescript.ts%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cntsconfig.json%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%E8%84%9A%E6%9C%AC%E4%B8%8E%E4%BD%BF%E7%94%A8%20JavaScript%20%E7%9B%B8%E4%BC%BC%EF%BC%8C%E4%BD%86%E9%9C%80%E8%A6%81%E5%AF%B9%E6%88%91%E4%BB%AC%E7%9A%84%E4%BB%A3%E7%A0%81%E8%BF%9B%E8%A1%8C%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E9%85%8D%E7%BD%AE%E5%92%8C%E5%8C%85%E8%A3%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%9E%84%E5%BB%BA%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E7%94%A8%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AF%86%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E7%94%A8%E5%AE%83%E6%9D%A5%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B7%A5%E5%85%B7%E3%80%82%E8%BF%99%E4%B8%AA%E5%B7%A5%E5%85%B7%E5%B0%86%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E9%80%9A%E5%B8%B8%E5%BE%88%E8%80%97%E6%97%B6%E7%9A%84%E8%BF%87%E7%A8%8B%EF%BC%9A%E4%B8%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E7%9A%84%E9%85%8D%E7%BD%AE%E6%8F%90%E4%BE%9B%E5%BC%95%E5%AF%BC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BA%A4%E4%BA%92%E5%BC%8F%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E3%80%82%E5%AE%83%E8%BF%98%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E5%86%85%E7%BD%AE%E7%9A%84%20chalk%20%E5%BA%93%EF%BC%8C%E4%BB%A5%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A2%9C%E8%89%B2%E9%AB%98%E4%BA%AE%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B9%B6%E6%8F%90%E4%BE%9B%E4%B8%80%E4%B8%AA%E5%8F%8B%E5%A5%BD%E7%9A%84%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C%E3%80%82%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E8%BF%98%E5%B0%86%E5%AE%89%E8%A3%85%E6%96%B0%E9%A1%B9%E7%9B%AE%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%EF%BC%8C%E6%89%80%E4%BB%A5%E5%AE%83%E5%B7%B2%E7%BB%8F%E5%87%86%E5%A4%87%E5%A5%BD%E8%AE%A9%E6%88%91%E4%BB%AC%E7%AB%8B%E5%8D%B3%E5%BC%80%E5%A7%8B%E5%BC%80%E5%8F%91%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%87%86%E5%A4%87%E5%BC%80%E5%A7%8B%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%90%8D%E4%B8%BA%20bootstrap-tool.mjs%20%E7%9A%84%E6%96%B0%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B9%B6%E6%B7%BB%E5%8A%A0%20shebang%20%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E6%A8%A1%E5%9D%97%EF%BC%8C%E4%BB%A5%E5%8F%8A%20Node.js%20%E6%A0%B8%E5%BF%83%20path%20%E6%A8%A1%E5%9D%97%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%2F%2F%26nbsp%3Bbootstrap-tool.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%2C%26nbsp%3Bargv%2C%26nbsp%3Bcd%2C%26nbsp%3Bchalk%2C%26nbsp%3Bfs%2C%26nbsp%3Bquestion%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnimport%26nbsp%3Bpath%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bpath%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8E%E6%88%91%E4%BB%AC%E4%B9%8B%E5%89%8D%E5%88%9B%E5%BB%BA%E7%9A%84%E8%84%9A%E6%9C%AC%E4%B8%80%E6%A0%B7%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bbootstrap-tool.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E7%94%A8%E7%BA%A2%E8%89%B2%E6%96%87%E6%9C%AC%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%EF%BC%8C%E5%B9%B6%E4%BB%A5%E9%94%99%E8%AF%AF%E9%80%80%E5%87%BA%E4%BB%A3%E7%A0%81%201%20%E9%80%80%E5%87%BA%20Node.js%20%E8%BF%9B%E7%A8%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Efunction%26nbsp%3BexitWithError(errorMessage)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconsole.error(chalk.red(errorMessage))%3B%5Cn%26nbsp%3B%26nbsp%3Bprocess.exit(1)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BD%93%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%A4%84%E7%90%86%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E9%80%9A%E8%BF%87%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%9C%A8%E5%90%84%E4%B8%AA%E5%9C%B0%E6%96%B9%E4%BD%BF%E7%94%A8%E8%BF%99%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%E4%B8%89%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%9Agit%E3%80%81node%20%E5%92%8C%20npx%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20which%20%E5%BA%93%E6%9D%A5%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E6%A3%80%E6%9F%A5%E8%BF%99%E4%BA%9B%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%E5%B9%B6%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20which%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bwhich%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%BC%95%E5%85%A5%E5%AE%83%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3Bwhich%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bwhich%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BD%BF%E7%94%A8%E5%AE%83%E7%9A%84%20checkRequiredProgramsExist%20%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckRequiredProgramsExist(programs)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3Bprogram%26nbsp%3Bof%26nbsp%3Bprograms)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bwhich(program)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BRequired%26nbsp%3Bcommand%26nbsp%3B%24%7Berror.message%7D%60)%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%90%8D%E7%A7%B0%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%95%B0%E7%BB%84%EF%BC%8C%E5%AF%B9%E6%AF%8F%E4%B8%AA%E7%A8%8B%E5%BA%8F%E8%B0%83%E7%94%A8%20which%20%E5%87%BD%E6%95%B0%E3%80%82%E5%A6%82%E6%9E%9C%20which%20%E6%89%BE%E5%88%B0%E4%BA%86%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%B7%AF%E5%BE%84%EF%BC%8C%E5%AE%83%E5%B0%86%E8%BF%94%E5%9B%9E%E8%AF%A5%E7%A8%8B%E5%BA%8F%E3%80%82%E5%90%A6%E5%88%99%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%AF%A5%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E6%8A%9B%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E3%80%82%E5%A6%82%E6%9E%9C%E6%9C%89%E4%BB%BB%E4%BD%95%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E8%B0%83%E7%94%A8%20exitWithError%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%E5%B9%B6%E5%81%9C%E6%AD%A2%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%8F%AF%E4%BB%A5%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%AF%B9%20checkRequiredProgramsExist%20%E7%9A%84%E8%B0%83%E7%94%A8%EF%BC%8C%E4%BB%A5%E6%A3%80%E6%9F%A5%E6%88%91%E4%BB%AC%E7%9A%84%E5%B7%A5%E5%85%B7%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%8F%AF%E7%94%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckRequiredProgramsExist(%5B%26%2334%3Bgit%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnode%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnpx%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%B7%BB%E5%8A%A0%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E9%80%89%E9%A1%B9%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%B0%86%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E5%90%AF%E5%8A%A8%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%88%91%E4%BB%AC%E5%B8%8C%E6%9C%9B%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9A%84%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E3%80%82%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E8%A6%81%E7%BB%99%E8%84%9A%E6%9C%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20--directory%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E5%86%85%E7%BD%AE%E4%BA%86%20minimist%20%E5%8C%85%EF%BC%8C%E5%AE%83%E8%83%BD%E5%A4%9F%E8%A7%A3%E6%9E%90%E4%BC%A0%E9%80%92%E7%BB%99%E8%84%9A%E6%9C%AC%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%E8%BF%99%E4%BA%9B%E8%A2%AB%E8%A7%A3%E6%9E%90%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E8%A2%AB%20zx%20%E5%8C%85%E4%BD%9C%E4%B8%BA%20argv%20%E6%8F%90%E4%BE%9B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E5%90%8D%E4%B8%BA%20directory%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E6%A3%80%E6%9F%A5%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Elet%26nbsp%3BtargetDirectory%26nbsp%3B%3D%26nbsp%3Bargv.directory%3B%5Cnif%26nbsp%3B(!targetDirectory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%26%2334%3BError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%26%2334%3B)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%20directory%20%E5%8F%82%E6%95%B0%E8%A2%AB%E4%BC%A0%E9%80%92%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%E5%AE%83%E6%98%AF%E5%90%A6%E6%98%AF%E5%B7%B2%E7%BB%8F%E5%AD%98%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%E7%9A%84%E8%B7%AF%E5%BE%84%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%8F%90%E4%BE%9B%E7%9A%84%20fs.pathExists%20%E6%96%B9%E6%B3%95%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3EtargetDirectory%26nbsp%3B%3D%26nbsp%3Bpath.resolve(targetDirectory)%3B%5Cnif%26nbsp%3B(!(await%26nbsp%3Bfs.pathExists(targetDirectory)))%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BTarget%26nbsp%3Bdirectory%26nbsp%3B%26%2339%3B%24%7BtargetDirectory%7D%26%2339%3B%26nbsp%3Bdoes%26nbsp%3Bnot%26nbsp%3Bexist%60)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E8%B7%AF%E5%BE%84%E5%AD%98%E5%9C%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%20cd%20%E5%87%BD%E6%95%B0%E6%9D%A5%E5%88%87%E6%8D%A2%E5%BD%93%E5%89%8D%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%9A%E2%80%8D%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ecd(targetDirectory)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%9C%A8%E6%B2%A1%E6%9C%89--directory%20%E5%8F%82%E6%95%B0%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E5%BA%94%E8%AF%A5%E4%BC%9A%E6%94%B6%E5%88%B0%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3B.%2Fbootstrap-tool.mjs%5CnError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E5%85%A8%E5%B1%80%20Git%20%E8%AE%BE%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%A8%8D%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%8C%E4%BD%86%E9%A6%96%E5%85%88%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%20Git%20%E6%98%AF%E5%90%A6%E6%9C%89%E5%AE%83%E9%9C%80%E8%A6%81%E7%9A%84%E9%85%8D%E7%BD%AE%E3%80%82%E6%88%91%E4%BB%AC%E8%A6%81%E7%A1%AE%E4%BF%9D%E6%8F%90%E4%BA%A4%E4%BC%9A%E8%A2%AB%20GitHub%20%E7%AD%89%E4%BB%A3%E7%A0%81%E6%89%98%E7%AE%A1%E6%9C%8D%E5%8A%A1%E6%AD%A3%E7%A1%AE%E5%BD%92%E7%B1%BB%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%81%9A%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E8%BF%99%E9%87%8C%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E7%B4%A2%20Git%20%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%E7%9A%84%E5%80%BC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetGlobalGitSettingValue(settingName)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B%26%2334%3B%26%2334%3B%3B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60git%26nbsp%3Bconfig%26nbsp%3B--global%26nbsp%3B--get%26nbsp%3B%24%7BsettingName%7D%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B).stdout.trim()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%2F%2F%26nbsp%3BIgnore%26nbsp%3Bprocess%26nbsp%3Boutput%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BsettingValue%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E5%85%B3%E9%97%AD%20zx%20%E9%BB%98%E8%AE%A4%E8%AE%BE%E7%BD%AE%E7%9A%84%20verbose%20%E6%A8%A1%E5%BC%8F%E3%80%82%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%EF%BC%8C%E5%BD%93%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%97%B6%EF%BC%8C%E8%AF%A5%E5%91%BD%E4%BB%A4%E5%92%8C%E5%AE%83%E5%8F%91%E9%80%81%E5%88%B0%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E7%9A%84%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9%E9%83%BD%E4%B8%8D%E4%BC%9A%E8%A2%AB%E6%98%BE%E7%A4%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%9C%A8%E5%87%BD%E6%95%B0%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E5%B0%86%20verbose%20%E6%A8%A1%E5%BC%8F%E9%87%8D%E6%96%B0%E6%89%93%E5%BC%80%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E5%BD%B1%E5%93%8D%E5%88%B0%E6%88%91%E4%BB%AC%E7%A8%8D%E5%90%8E%E5%9C%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%85%B6%E4%BB%96%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%20checkGlobalGitSettings%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A5%E5%87%BD%E6%95%B0%E6%8E%A5%E6%94%B6%20Git%20%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%E7%BB%84%E6%88%90%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%B0%86%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%AF%8F%E4%B8%AA%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E4%BC%A0%E9%80%92%E7%BB%99%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E4%BB%A5%E6%A3%80%E7%B4%A2%E5%85%B6%E5%80%BC%E3%80%82%E5%A6%82%E6%9E%9C%E8%AE%BE%E7%BD%AE%E6%B2%A1%E6%9C%89%E5%80%BC%EF%BC%8C%E5%B0%86%E6%98%BE%E7%A4%BA%E8%AD%A6%E5%91%8A%E4%BF%A1%E6%81%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckGlobalGitSettings(settingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3BsettingName%26nbsp%3Bof%26nbsp%3BsettingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetGlobalGitSettingValue(settingName)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!settingValue)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.warn(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.yellow(%60Warning%3A%26nbsp%3BGlobal%26nbsp%3Bgit%26nbsp%3Bsetting%26nbsp%3B%26%2339%3B%24%7BsettingName%7D%26%2339%3B%26nbsp%3Bis%26nbsp%3Bnot%26nbsp%3Bset.%60)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E7%BB%99%20checkGlobalGitSettings%20%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E8%B0%83%E7%94%A8%EF%BC%8C%E6%A3%80%E6%9F%A5%20user.name%20%E5%92%8C%20user.email%20%E7%9A%84%20Git%20%E8%AE%BE%E7%BD%AE%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E8%A2%AB%E8%AE%BE%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckGlobalGitSettings(%5B%26%2334%3Buser.name%26%2334%3B%2C%26nbsp%3B%26%2334%3Buser.email%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%88%9D%E5%A7%8B%E5%8C%96%20Git%20%E4%BB%93%E5%BA%93%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E6%B7%BB%E5%8A%A0%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Binit%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20package.json%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%AF%8F%E4%B8%AA%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%83%BD%E9%9C%80%E8%A6%81%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E8%BF%99%E6%98%AF%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E5%AE%9A%E4%B9%89%E5%85%83%E6%95%B0%E6%8D%AE%E7%9A%84%E5%9C%B0%E6%96%B9%EF%BC%8C%E6%8C%87%E5%AE%9A%E9%A1%B9%E7%9B%AE%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E5%8C%85%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%B7%BB%E5%8A%A0%E5%AE%9E%E7%94%A8%E7%9A%84%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%94%9F%E6%88%90%20package.json%20%E6%96%87%E4%BB%B6%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E5%87%A0%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%98%AF%20readPackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%AF%BB%E5%8F%96%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BreadPackageJson(directory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3Bfs.readJSON(packageJsonFilepath)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20writePackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E5%90%91%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E5%86%99%E5%85%A5%E6%9B%B4%E6%94%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BwritePackageJson(directory%2C%26nbsp%3Bcontents)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bfs.writeJSON(packageJsonFilepath%2C%26nbsp%3Bcontents%2C%26nbsp%3B%7B%26nbsp%3Bspaces%3A%26nbsp%3B2%26nbsp%3B%7D)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%20fs.readJSON%20%E5%92%8C%20fs.writeJSON%20%E6%96%B9%E6%B3%95%E6%98%AF%E7%94%B1%20fs-extra%20%E5%BA%93%E6%8F%90%E4%BE%9B%E7%9A%84%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E5%AE%9A%E4%B9%89%E4%BA%86%20package.json%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%BC%80%E5%A7%8B%E8%80%83%E8%99%91%20package.json%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E6%94%AF%E6%8C%81%E4%B8%A4%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ECommonJS%20Modules%20(CJS)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DKTweLvts6a1zOlUbn0cnCA%253D%253D.WRSoJ3t37Y2GYjanjStt81N%252BkCOGoR11gK8pv6Fck09uaKTSXHq5mvMcWutIRxYU%3C%2Fspan%3E%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%BF%E7%94%A8%20module.exports%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20require()%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EECMAScript%20Modules%20(ESM)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DOUbF%252BkjeOpAlt3Fo9PFGFw%253D%253D.Ex%252BQVnop7rVNKtYxrnp%252Fhcm08eFRE7K2XLUBlFFQ7D4%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%BD%BF%E7%94%A8%20export%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20import%20%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E7%94%9F%E6%80%81%E7%B3%BB%E7%BB%9F%E6%AD%A3%E5%9C%A8%E9%80%90%E6%AD%A5%E9%87%87%E7%94%A8%20ES%20%E6%A8%A1%E5%9D%97%EF%BC%8C%E8%BF%99%E5%9C%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%20JavaScript%20%E4%B8%AD%E6%98%AF%E5%BE%88%E5%B8%B8%E8%A7%81%E7%9A%84%E3%80%82%E5%BD%93%E4%BA%8B%E6%83%85%E5%A4%84%E4%BA%8E%E8%BF%87%E6%B8%A1%E9%98%B6%E6%AE%B5%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%86%B3%E5%AE%9A%E6%88%91%E4%BB%AC%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%BB%98%E8%AE%A4%E4%BD%BF%E7%94%A8%20CJS%20%E6%A8%A1%E5%9D%97%E8%BF%98%E6%98%AF%20ESM%20%E6%A8%A1%E5%9D%97%E3%80%82%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%BF%99%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForModuleSystem(moduleSystems)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Which%26nbsp%3BNode.js%26nbsp%3Bmodule%26nbsp%3Bsystem%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Buse%3F%26nbsp%3B(%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26nbsp%3Bor%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D)%26nbsp%3B%60%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchoices%3A%26nbsp%3BmoduleSystems%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BmoduleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E5%87%BD%E6%95%B0%E4%BD%BF%E7%94%A8%E7%9A%84%20question%20%E5%87%BD%E6%95%B0%E7%94%B1%20zx%20%E6%8F%90%E4%BE%9B%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getNodeModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E8%B0%83%E7%94%A8%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E6%A3%80%E6%9F%A5%E6%89%80%E8%BE%93%E5%85%A5%E7%9A%84%E5%80%BC%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%8D%E6%98%AF%EF%BC%8C%E5%AE%83%E5%B0%86%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetNodeModuleSystem()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystems%26nbsp%3B%3D%26nbsp%3B%5B%26%2334%3Bmodule%26%2334%3B%2C%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForModuleSystem(moduleSystems)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BisValidModuleSystem%26nbsp%3B%3D%26nbsp%3BmoduleSystems.includes(selectedModuleSystem)%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!isValidModuleSystem)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BModule%26nbsp%3Bsystem%26nbsp%3Bmust%26nbsp%3Bbe%26nbsp%3Beither%26nbsp%3B%26%2339%3B%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26%2339%3B%26nbsp%3Bor%26nbsp%3B%26%2339%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%26%2339%3B%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BselectedModuleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E8%BF%90%E8%A1%8C%20npm%20init%20%E5%91%BD%E4%BB%A4%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npm%26nbsp%3Binit%26nbsp%3B--yes%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E8%AF%BB%E5%8F%96%E6%96%B0%E5%88%9B%E5%BB%BA%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E8%AF%A2%E9%97%AE%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%B3%BB%E7%BB%9F%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA%20packageJson%20%E5%AF%B9%E8%B1%A1%E4%B8%AD%E7%9A%84%20type%20%E5%B1%9E%E6%80%A7%E5%80%BC%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%E5%85%B6%E5%86%99%E5%9B%9E%E5%88%B0%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackageJson%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5CnpackageJson.type%26nbsp%3B%3D%26nbsp%3BselectedModuleSystem%3B%5Cnawait%26nbsp%3BwritePackageJson(targetDirectory%2C%26nbsp%3BpackageJson)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%8F%90%E7%A4%BA%EF%BC%9A%E5%BD%93%E4%BD%A0%E7%94%A8--yes%20%E6%A0%87%E5%BF%97%E8%BF%90%E8%A1%8C%20npm%20init%20%E6%97%B6%EF%BC%8C%E8%A6%81%E6%83%B3%E5%9C%A8%20package.json%20%E4%B8%AD%E8%8E%B7%E5%BE%97%E5%90%88%E7%90%86%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%EF%BC%8C%E8%AF%B7%E7%A1%AE%E4%BF%9D%E4%BD%A0%E8%AE%BE%E7%BD%AE%E4%BA%86%20npminit-*%E7%9A%84%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DX0aVKO8sVtj0bgZhFmgjVw%253D%253D.hxYbJxX5X2odlcPpk5MdIVLkT7ESAsFMhFnFSRBftI2c2BjNTUCtV1gwdXnpxWGI%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E9%A1%B9%E7%9B%AE%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E4%BD%BF%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E5%90%8E%E8%83%BD%E5%A4%9F%E8%BD%BB%E6%9D%BE%E5%9C%B0%E5%BC%80%E5%A7%8B%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForPackages%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E5%93%AA%E4%BA%9B%20npm%20%E5%8C%85%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForPackages()%26nbsp%3B%7B%5Cnlet%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3BWhich%26nbsp%3Bnpm%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Binstall%26nbsp%3Bfor%26nbsp%3Bthis%26nbsp%3Bproject%3F%26nbsp%3B%26%2334%3B%5Cn)%3B%5CnpackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall%5Cn%26nbsp%3B%26nbsp%3B.trim()%5Cn%26nbsp%3B%26nbsp%3B.split(%26%2334%3B%26nbsp%3B%26%2334%3B)%5Cn%26nbsp%3B%26nbsp%3B.filter((pkg)%26nbsp%3B%3D%26gt%3B%26nbsp%3Bpkg)%3B%5Cnreturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E9%98%B2%E6%AD%A2%E6%88%91%E4%BB%AC%E5%9C%A8%E8%BE%93%E5%85%A5%E5%8C%85%E5%90%8D%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E5%88%AB%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20identifyInvalidNpmPackages%20%E5%87%BD%E6%95%B0%E3%80%82%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E5%B0%86%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%20npm%20%E5%8C%85%E5%90%8D%E6%95%B0%E7%BB%84%EF%BC%8C%E7%84%B6%E5%90%8E%E8%BF%90%E8%A1%8C%20npm%20view%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E6%9F%A5%E5%AE%83%E4%BB%AC%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BidentifyInvalidNpmPackages(packages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3B%5B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(const%26nbsp%3Bpkg%26nbsp%3Bof%26nbsp%3Bpackages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Bview%26nbsp%3B%24%7Bpkg%7D%60%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BinvalidPackages.push(pkg)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BinvalidPackages%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getPackagesToInstall%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E5%88%9A%E5%88%9A%E5%88%9B%E5%BB%BA%E7%9A%84%E4%B8%A4%E4%B8%AA%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetPackagesToInstall()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForPackages()%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BidentifyInvalidNpmPackages(packagesToInstall)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BallPackagesExist%26nbsp%3B%3D%26nbsp%3BinvalidPackages.length%26nbsp%3B%3D%3D%3D%26nbsp%3B0%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!allPackagesExist)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BThe%26nbsp%3Bfollowing%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Bnot%26nbsp%3Bexist%26nbsp%3Bon%26nbsp%3Bnpm%3A%26nbsp%3B%24%7BinvalidPackages.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%2C%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%9C%89%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%90%8D%E7%A7%B0%E4%B8%8D%E6%AD%A3%E7%A1%AE%EF%BC%8C%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E6%97%A6%E6%88%91%E4%BB%AC%E5%BE%97%E5%88%B0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E6%9C%89%E6%95%88%E5%8C%85%E5%88%97%E8%A1%A8%EF%BC%8C%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20npm%20install%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E5%AE%89%E8%A3%85%E5%AE%83%E4%BB%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cnconst%26nbsp%3BhavePackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall.length%26nbsp%3B%26gt%3B%26nbsp%3B0%3B%5Cnif%26nbsp%3B(havePackagesToInstall)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Binstall%26nbsp%3B%24%7BpackagesToInstall%7D%60%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E4%B8%BA%E5%B7%A5%E5%85%B7%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE%E6%98%AF%E6%88%91%E4%BB%AC%E7%94%A8%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E7%9A%84%E6%9C%80%E4%BD%B3%E4%BA%8B%E9%A1%B9%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA.gitignore%20%E6%96%87%E4%BB%B6%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E6%84%8F%E5%A4%96%E5%9C%B0%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E5%9C%A8%20Git%20%E4%BB%93%E5%BA%93%E4%B8%AD%E5%87%BA%E7%8E%B0%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bgitignore%26nbsp%3Bnode%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8%20gitignore%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DV%252FIoxipE2WxmNECDRNKMqg%253D%253D.7Y4d34n%252BoUVlJkYEiJt3NLa9RHn2pYtKq%252BHpO67HIQjfjKAHIxcMynZzTudktHaV%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E5%8C%85%EF%BC%8C%E4%BB%8E%20GitHub%20%E7%9A%84%20gitignore%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3E%20https%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DSzh56TKqT6gYmrJidM7ZXg%253D%253D.BK7Vf5F73GaplJKeN48OsobM6U4EPriatZOr3dBhsSVZIuIUiktyqfS1jhLLtQ7o%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E6%A8%A1%E6%9D%BF%E4%B8%AD%E6%8B%89%E5%8F%96%20Node.js%20%E7%9A%84.gitignore%20%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E7%9A%84%20EditorConfig%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DdGD5%252BEyCTqLfqDSif7%252FHgQ%253D%253D.xgNWBjR6m%252FIUFlG1UmM3CYX2R%252BLXFN531lZhlvCRRWs%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%81Prettier%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3Dn7clHFqLMZZala0zu1JjdQ%253D%253D.jivAg4cL8HkSAhuurMUHrlfhGGILOpveTQR0rjCRXyg%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%92%8C%20ESLint%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DJ4jXEAmmBQ83%252FWSrOtTsAQ%253D%253D.b%252FKC0kT%252FZWZQ9KBItXDMQHWJBzc5aW9hUZsxWHBsMY4%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E4%B8%80%E4%B8%AA%E5%8F%AB%E5%81%9A%20Mrm%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E7%9A%84%20mrm%20%E4%BE%9D%E8%B5%96%E9%A1%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--global%26nbsp%3Bmrm%26nbsp%3Bmrm-task-editorconfig%26nbsp%3Bmrm-task-prettier%26nbsp%3Bmrm-task-eslint%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%B7%BB%E5%8A%A0%20mrm%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beditorconfig%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Bprettier%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beslint%60%3B%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EMrm%20%E8%B4%9F%E8%B4%A3%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%E3%80%82%E5%AE%83%E8%BF%98%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E7%94%9F%E6%88%90%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BB%A5%E7%AC%A6%E5%90%88%E6%88%91%E4%BB%AC%E7%9A%84%E4%B8%AA%E4%BA%BA%E5%81%8F%E5%A5%BD%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20README%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E7%9A%84%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%E8%AF%BB%E5%8F%96%E9%A1%B9%E7%9B%AE%E5%90%8D%E7%A7%B0%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA%E5%9F%BA%E6%9C%AC%E7%9A%84%20Markdown%20%E6%A0%BC%E5%BC%8F%E7%9A%84%20README%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E5%86%99%E5%85%A5%20README.md%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3B%7B%26nbsp%3Bname%3A%26nbsp%3BprojectName%26nbsp%3B%7D%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BreadmeContents%26nbsp%3B%3D%26nbsp%3B%60%23%26nbsp%3B%24%7BprojectName%7D%5Cn...%5Cn%60%3B%5Cnawait%26nbsp%3Bfs.writeFile(%60%24%7BtargetDirectory%7D%2FREADME.md%60%2C%26nbsp%3BreadmeContents)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%9A%B4%E9%9C%B2%E7%9A%84%20fs.writeFile%20%E7%9A%84%20promise%20%E5%8F%98%E9%87%8F%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%8F%90%E4%BA%A4%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%80%E5%90%8E%EF%BC%8C%E6%98%AF%E6%97%B6%E5%80%99%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E7%94%A8%20git%20%E5%88%9B%E5%BB%BA%E7%9A%84%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%E4%BA%86%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Badd%26nbsp%3B.%60%3B%5Cnawait%26nbsp%3B%24%60git%26nbsp%3Bcommit%26nbsp%3B-m%26nbsp%3B%26%2334%3BAdd%26nbsp%3Bproject%26nbsp%3Bskeleton%26%2334%3B%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E6%9D%A1%E6%B6%88%E6%81%AF%EF%BC%8C%E7%A1%AE%E8%AE%A4%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B7%B2%E7%BB%8F%E6%88%90%E5%8A%9F%E5%90%AF%E5%8A%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econsole.log(%5Cn%26nbsp%3B%26nbsp%3Bchalk.green(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60%5C%5Cn%E2%9C%94%EF%B8%8F%26nbsp%3BThe%26nbsp%3Bproject%26nbsp%3B%24%7BprojectName%7D%26nbsp%3Bhas%26nbsp%3Bbeen%26nbsp%3Bsuccessfully%26nbsp%3Bbootstrapped!%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B)%5Cn)%3B%5Cnconsole.log(chalk.green(%60Add%26nbsp%3Ba%26nbsp%3Bgit%26nbsp%3Bremote%26nbsp%3Band%26nbsp%3Bpush%26nbsp%3Byour%26nbsp%3Bchanges.%60))%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%90%AF%E5%8A%A8%E6%96%B0%E9%A1%B9%E7%9B%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bnew-project%5Cn.%2Fbootstrap-tool.mjs%26nbsp%3B--directory%26nbsp%3Bnew-project%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%B9%B6%E8%A7%82%E7%9C%8B%E6%88%91%E4%BB%AC%E6%89%80%E5%81%9A%E7%9A%84%E4%B8%80%E5%88%87%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%80%BB%E7%BB%93%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E5%A6%82%E4%BD%95%E5%9C%A8%20Node.js%20%E4%B8%AD%E5%80%9F%E5%8A%A9%20Google%20%E7%9A%84%20zx%20%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E5%BC%BA%E5%A4%A7%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E4%BA%86%E5%AE%83%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%92%8C%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%81%B5%E6%B4%BB%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%B0%E7%9B%AE%E5%89%8D%E4%B8%BA%E6%AD%A2%EF%BC%8C%E6%88%91%E4%BB%AC%E6%89%80%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%8F%AA%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BC%80%E5%A7%8B%E3%80%82%E8%BF%99%E9%87%8C%E6%9C%89%E4%B8%80%E4%BA%9B%E5%8A%9F%E8%83%BD%E7%82%B9%E5%AD%90%EF%BC%8C%E4%BD%A0%E5%8F%AF%E8%83%BD%E6%83%B3%E5%B0%9D%E8%AF%95%E8%87%AA%E5%B7%B1%E6%B7%BB%E5%8A%A0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E3%80%82%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E8%BF%98%E4%B8%8D%E5%AD%98%E5%9C%A8%EF%BC%8C%E5%88%99%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E5%B9%B6%E8%AF%A2%E9%97%AE%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E6%83%B3%E8%A6%81%E4%B8%BA%E4%BB%96%E4%BB%AC%E5%88%9B%E5%BB%BA%E8%AF%A5%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BC%80%E6%BA%90%E5%8D%AB%E7%94%9F%E3%80%82%E9%97%AE%E9%97%AE%E7%94%A8%E6%88%B7%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E5%9C%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B0%86%E6%98%AF%E5%BC%80%E6%BA%90%E7%9A%84%E9%A1%B9%E7%9B%AE%E3%80%82%E5%A6%82%E6%9E%9C%E6%98%AF%E7%9A%84%E8%AF%9D%EF%BC%8C%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E8%AE%B8%E5%8F%AF%E8%AF%81%E5%92%8C%E8%B4%A1%E7%8C%AE%E8%80%85%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%20GitHub%20%E4%B8%8A%E7%9A%84%E4%BB%93%E5%BA%93%E3%80%82%E6%B7%BB%E5%8A%A0%E4%BD%BF%E7%94%A8%20GitHub%20CLI%20%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%9C%A8%20GitHub%20%E4%B8%8A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E3%80%82%E4%B8%80%E6%97%A6%E7%94%A8%20Git%20%E6%8F%90%E4%BA%A4%E4%BA%86%E5%88%9D%E5%A7%8B%E9%AA%A8%E6%9E%B6%EF%BC%8C%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E6%8E%A8%E9%80%81%E5%88%B0%E8%BF%99%E4%B8%AA%E4%BB%93%E5%BA%93%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E5%9C%A8%20GitHub%20%E4%B8%8A%E6%89%BE%E5%88%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E8%AF%91%E8%87%AA%EF%BC%9A%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5Z%252ByLQNgua%252FY5gnguxXllg%253D%253D.SeNINYETng%252BH6uZupDjhsYNRqM5GWB5jXVDlvMdMqsO9u3CmWfwe8DwT48iAvK%252Fsm8pflQ8jbxHc1sB281%252B6pA%253D%253D%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%9C%E8%80%85%EF%BC%9A%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3ESimon%20Plenderleith%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BB%A5%E4%B8%8A%E5%B0%B1%E6%98%AF%E6%9C%AC%E6%96%87%E7%9A%84%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9%E3%80%82%E5%A6%82%E6%9E%9C%E5%AF%B9%E4%BD%A0%E6%9C%89%E6%89%80%E5%B8%AE%E5%8A%A9%EF%BC%8C%E6%AC%A2%E8%BF%8E%E7%82%B9%E8%B5%9E%E3%80%81%E6%94%B6%E8%97%8F%E3%80%81%E8%BD%AC%E5%8F%91~%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Chr%3E%22%2C%22imageList%22%3A%5B%5D%2C%22mediaInfo%22%3A%7B%22userId%22%3A%22MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH%22%2C%22unsafeUserId%22%3A%224288553596503552%22%2C%22name%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22avatarUrl%22%3A%22https%3A%2F%2Fsf3-cdn-tos.toutiaostatic.com%2Fimg%2Fuser-avatar%2Fc14bb151d3505084033c82ee8238acde~300x300.image%22%2C%22description%22%3A%22%E6%AC%A2%E8%BF%8E%E5%85%B3%E6%B3%A8VX%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22userVerified%22%3A1%7D%2C%22seoTDK%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC-%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1%22%2C%22description%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22keywords%22%3A%22%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%2CNode.js%2CGoogle%2CJavaScript%2CBash%2CTypeScript%2CZsh%2CGitHub%2C%E7%BE%8E%E5%A5%BD%EF%BC%8C%E4%B8%80%E7%9B%B4%E5%9C%A8%E8%BA%AB%E8%BE%B9%22%2C%22publishTimestamp%22%3A%221678237205%22%2C%22modifiedTimestamp%22%3A%221685548306%22%7D%2C%22cover%22%3A%22https%3A%2F%2Fp3-sign.toutiaoimg.com%2Flarge%2Ftos-cn-i-qvj2lq49k0%2F7894dd4439eb4e78ad35208f496e841a%3F_iz%3D58558%26from%3Darticle.pc_detail%26x-expires%3D1690103402%26x-signature%3D5z%252FNWR2V4o%252B5W0fhczXkGuaSyYE%253D%22%2C%22logId%22%3A%222023071617100290B65219A60FE2C10ABA%22%2C%22sylpageConfig%22%3A%7B%22card%22%3A%7B%22id%22%3A%22%22%7D%7D%2C%22identity%22%3A%7B%22web_id%22%3A%227235169635611018810%22%2C%22user_is_login%22%3Afalse%7D%2C%22abtestInfo%22%3A%7B%22rsp_type%22%3A5%2C%22version_name%22%3A%224938400%22%2C%22parameters%22%3A%7B%22filter%22%3A%7B%22debug_enable_pc_small_video%22%3Afalse%2C%22enable_pc_small_video%22%3Atrue%7D%2C%22home_nav_conf%22%3A%7B%22dcd_out%22%3A1%7D%2C%22optimus%22%3A%7B%22rule_rank_rules%22%3A%22ranking_rule_list%20%7B%5Cn%20%20id%3A%201221233%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2212123%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%202%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%2020458%5Cn%20%20priority%3A%203%5Cn%20%20enabled%3A%20true%5Cn%20%20category%3A%2020458%5Cn%20%20type%3A%20WINDOW%5Cn%20%20window_rule%20%7B%5Cn%20%20%20%20type%3A%20SLIDE%5Cn%20%20%20%20size%3A%203%5Cn%20%20%20%20max%3A%201%5Cn%20%20%7D%5Cn%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%201111024%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2211024%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%206%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%22%7D%2C%22page_upgrade%22%3A%7B%22new_profile%22%3Atrue%2C%22video_double_column%22%3Atrue%7D%2C%22recall%22%3A%7B%22debug_filter_reason_list%22%3A%5B%5D%2C%22debug_recall_reason_list%22%3A%5B70%2C71%2C72%2C73%2C80%2C83%5D%2C%22enable_debug_filter_reason%22%3Atrue%2C%22enable_debug_recall_reason%22%3Atrue%2C%22friend_feed%22%3A%7B%22control_nums%22%3A1500%2C%22count%22%3A1000%2C%22enable%22%3Atrue%2C%22enable_cpp_friend_feed%22%3Atrue%2C%22enable_friend_feed_container_filter%22%3Atrue%2C%22enable_group_status_filter%22%3Atrue%2C%22params%22%3A%7B%7D%2C%22top_k%22%3A10%2C%22use_new_friend_recall%22%3Atrue%2C%22valid_group_source%22%3A%5B2%2C5%2C15%2C23%2C16%2C19%2C21%2C132%5D%2C%22weight%22%3A20%7D%7D%2C%22seraph%22%3A%7B%22rule_rank_rules_pc_small%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20%20%20%20%20%20id%3A%2022124%20%5Cn%20%20%20%20%20%20%20%20%20priority%3A%200%20%5Cn%20%20%20%20%20%20%20%20%20tags%3A%20%5C%2222124%5C%22%20%5Cn%20%20%20%20%20%20%20%20%20enabled%3A%20true%20%5Cn%20%20%20%20%20%20%20%20%20type%3A%20CARD%20%5Cn%20%20%20%20%20%20%20%20%20card_rule%20%7B%20%5Cn%20%20%20%20%20%20%20%20%20size%3A%206%20%5Cn%20%20%20%20%20%20%20%20%20num_cards%3A%201%5Cn%20%20%20%20%20%20%20%20%20type%3A%20SAME_SLOT%20%5Cn%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%22%2C%22rule_rank_rules_pc_small_window%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20id%3A%20222124%5Cn%20%20%20priority%3A%200%5Cn%20%20%20tags%3A%20%5C%2222124%5C%22%5Cn%20%20%20%20enabled%3A%20false%5Cn%20%20%20%20type%3A%20WINDOW%5Cn%20%20%20%20window_rule%20%7B%5Cn%20%20%20type%3A%20SLIDE%20%5Cn%20%20%20size%3A%2012%20%5Cn%20%20%20max%3A%206%20%5Cn%20%20%20%7D%5Cn%20%20%20%7D%22%7D%2C%22small_sort%22%3A%7B%22enable_filter_zhanwai%22%3Atrue%2C%22filter_genre_plog%22%3Afalse%2C%22filter_genre_small%22%3Afalse%2C%22skip_small_app_version_filter%22%3Afalse%2C%22skip_small_genre_filter%22%3Afalse%7D%2C%22sort%22%3A%7B%22allowed_ticai%22%3A%5B%22forum_post%22%2C%22pgc_text%22%2C%22pgc_video%22%2C%22short_video%22%5D%2C%22enable_optimus_gen_pc_mv_card%22%3Atrue%2C%22enable_optimus_gen_pc_sv_card%22%3Atrue%2C%22enable_pc_skip_app_smallvideo_card%22%3Atrue%7D%2C%22ugc_sort%22%3A%7B%22expore_smallvideo%22%3Atrue%7D%2C%22video_channel%22%3A%7B%22use_feed%22%3A1%2C%22rank%22%3A5%7D%7D%2C%22env_flag%22%3A0%7D%2C%22localCityInfo%22%3A%7B%22name%22%3A%22%E8%A5%84%E9%98%B3%22%2C%22code%22%3A%22420600%22%2C%22channelId%22%3A3202181326%7D%2C%22voteLink%22%3A%5B%7B%22keyword%22%3A%22%E6%9C%AB%E4%B8%96%E9%87%8D%E7%94%9F%EF%BC%8C%E6%88%91%E6%8A%A2%E4%BA%86%E5%A5%B3%E4%B8%BB%E7%9A%84%E9%87%91%E6%89%8B%E6%8C%87%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7045105728742231079%22%7D%2C%7B%22keyword%22%3A%22%E4%BA%BA%E5%9C%A8%E6%B5%B7%E8%B4%BC%3A%E6%88%91%E6%88%90%E4%B8%BA%E4%BA%86%E6%B5%B7%E5%86%9B%E5%A5%B3%E7%8E%8B%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7070145477789879300%22%7D%2C%7B%22keyword%22%3A%22%E6%B2%A1%E7%9E%8E%E7%9C%BC%E4%B8%89%E5%B9%B4%EF%BC%8C%E4%BD%86%E6%88%91%E7%9A%84%E5%AD%A6%E7%94%9F%E4%B8%8D%E6%98%AF%E4%BA%BA%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7118385133568134175%22%7D%2C%7B%22keyword%22%3A%22%E7%9C%9F%E5%8D%83%E9%87%91%E4%BB%8E%E4%BF%AE%E7%9C%9F%E7%95%8C%E5%9B%9E%E6%9D%A5%E4%BA%86%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F6983183491827502094%22%7D%2C%7B%22keyword%22%3A%22%E5%BC%82%E4%B8%96%E7%9B%B8%E9%81%87%E5%B0%BD%E4%BA%AB%E7%A4%BE%E6%AD%BB%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F583844%22%7D%2C%7B%22keyword%22%3A%22python%20ols%E5%9B%9E%E5%BD%92%E5%88%86%E6%9E%90%E7%BB%93%E6%9E%9C%E6%80%8E%E4%B9%88%E7%9C%8B%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131680%22%7D%2C%7B%22keyword%22%3A%22%E7%A5%9E%E5%A5%87%E5%AE%9D%E8%B4%9D%E4%B9%8B%E5%85%A8%E8%83%BD%E6%8E%8C%E9%97%A8%E4%BA%BA%E8%87%B4%E5%85%89%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F738595%22%7D%2C%7B%22keyword%22%3A%22%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3java8%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131722%22%7D%2C%7B%22keyword%22%3A%22linux%20mysql%20%E6%97%A5%E5%BF%97%E6%B8%85%E7%90%86%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1182964%22%7D%2C%7B%22keyword%22%3A%22%E6%88%91%E5%9C%A8%E5%AE%9D%E5%8F%AF%E6%A2%A6%E4%B8%96%E7%95%8C%E6%88%90%E4%B8%BA%E7%AC%AC%E4%B8%80%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F188604%22%7D%5D%2C%22grSensitive%22%3Afalse%2C%22showResearch%22%3Afalse%2C%22blockVisibility%22%3A%7B%22hotBoard%22%3Atrue%2C%22hotVideo%22%3Atrue%2C%22relatedRecommend%22%3Atrue%7D%2C%22isGreyTheme%22%3Afalse%2C%22searchBot%22%3Anull%7D%7D
ls`).stdout.trim();
再次运行脚本,结果看起来好很多:
hello-world.mjs
node_modules
package.json
package-lock.json
引入 TypeScript
如果我们想在 TypeScript 中编写使用 zx 的 shell 脚本,有几个微小的区别我们需要加以说明。
注意:TypeScript 编译器提供了大量的配置选项,允许我们调整它如何编译我们的 TypeScript 代码。考虑到这一点,下面的 TypeScript 配置和代码是为了在大多数 TypeScript 版本下工作。
首先,安装需要运行 TypeScript 代码的依赖:
npminstall--save-devtypescriptts-node
ts-node 包提供了一个 TypeScript 执行引擎,让我们能够转译和运行 TypeScript 代码。
需要创建 tsconfig.json 文件包含下面的配置:
{
"compilerOptions":{
"target":"es2017",
"module":"commonjs"
}
}
创建新的脚本,并命名为 hello-world-typescript.ts。首先,添加 Shebang 行,告诉 OS 内核使用 ts-node 程序来运行我们的脚本:
#!./node_modules/.bin/ts-node
为了在我们的 TypeScript 代码中使用 await 关键字,我们需要把它包装在一个立即调用函数表达式(IIFE)中,正如 zx 文档所建议的那样:
//hello-world-typescript.ts
import{nbsp;}from"zx";
void(asyncfunction(){
await
社区精选|如何使用 zx 编写 shell 脚本-*今条头日**
{"@context":"https://schema.org","@type":"NewsArticle","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.toutiao.com/article/7207743318715793920/"},"headline":"社区精选|如何使用 zx 编写 shell 脚本","description":"在这篇文章中,我们将学习谷歌的 zx 库提供了什么,以及我们如何使用它来用 Node.js 编写 shell 脚本。","image":[],"datePublished":"2023-03-08T01:00:05.000Z","dateModified":"2023-05-31T15:51:46.000Z","author":{"@type":"Person","name":"计算科学与信息化","url":"https://www.toutiao.com/c/user/token/MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH/"},"publisher":{"@type":"Organization","name":"*今条头日**","logo":{"@type":"ImageObject","url":"https://lf3-static.bytednsdoc.com/obj/eden-cn/uhbfnupkbps/216.png"}}}
!function(r,e,t,n,s,a,o,i,c,l,d,p,m,f){a="precollect",o="getAttribute",i="addEventListener",(l=function(e){(d=[].slice.call(arguments)).push(Date.now(),location.href),(e==a?l.p.a:l.q).push(d)}).q=[],l.p={a:[]},r[s]=l,(p=document.createElement("script")).src=t+"?bid=toutiao_web_pc&globalName="+s,p.crossOrigin=0
window.Slardar&&window.Slardar("init",{bid:"toutiao_web_pc",pid:"news_article_detail",release:"1.0.0.1822",env:"online",sample:{sample_rate:1},plugins:{ajax:{ignoreUrls:["mcs.snssdk.com","mcs.zijieapi.com","i.snssdk.com","verify.snssdk.com","vcs.snssdk.com","mon.zijieapi.com","mon.snssdk.com"]},pageview:{routeMode:"manual"},blankScreen:{rootSelector:"#root"}}})
!function(n,t){if(n.LogAnalyticsObject=t,!n[t]){function c(){c.q.push(arguments)}c.q=c.q||[],n[t]=c}n[t].l=+new Date}(window,"collectEvent")
window.collectEvent("usePlugin","autotrack"),window.collectEvent("usePlugin","stay"),window.collectEvent("init",{app_id:24,channel:"cn",autotrack:{custom:"tea",text:!0},enable_stay_duration:!0}),window.collectEvent("config",{evtParams:{url:window.location.href,screen_width:window.screen.width,screen_height:window.screen.height,screen_inner_width:window.innerWidth,screen_inner_height:window.innerHeight}})
window.byted_acrawler&&window.byted_acrawler.init({aid:24,dfp:!0})
window.TTGCaptcha&&window.TTGCaptcha.init({commonOptions:{aid:24,iid:"0",did:"0"}})
window.secsdk&&window.secsdk.csrf.setProtectedHost({"www.toutiao.com":{GET:[],POST:[/^\/api\/pc\/user\/fans_digg/,/^\/api\/pc\/user\/delete/,/^\/api\/pc\/user\/follow/,/^\/c\/ugc\/content\/repost/,/^\/group\/repin/,/^\/group\/unrepin/,/^\/api\/pc\/user\/stick/,/^\/api\/pc\/user\/unstick/,/^\/c\/user\/unfollow/,/^\/wenda\/v5\/interact\/followanswer/,/^\/wenda\/v5\/interact\/followquestion/,/^\/wenda\/v5\/interact\/digganswer/,/^\/wenda\/v5\/interact\/deleteanswer/,/^\/user_data\/batch_action/],PUT:[],PATCH:[],DELETE:[]}})
"undefined"!=typeof window&&"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("/sw.js").catch(function(e){window.Slardar&&window.Slardar("emit","counter",{name:"sw-register-error",value:1})})})
function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-QEHZPBE5HH")
%7B%22data%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%22%2C%22abstract%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22articleType%22%3A%22article%22%2C%22itemId%22%3A%227207743318715793920%22%2C%22groupId%22%3A%227207743318715793920%22%2C%22groupSource%22%3A2%2C%22isOriginal%22%3Afalse%2C%22banComment%22%3Afalse%2C%22publishTime%22%3A%222023-03-08%2009%3A00%22%2C%22source%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22tag%22%3A%22technique%22%2C%22mediaSite%22%3Anull%2C%22pathname%22%3A%22%2Farticle%2F7207743318715793920%2F%22%2C%22useCandle%22%3Afalse%2C%22isExclusive%22%3Afalse%2C%22favorite%22%3Afalse%2C%22relation%22%3A%7B%22isFollowing%22%3Afalse%2C%22isFollowed%22%3Afalse%7D%2C%22likeData%22%3A%7B%22userLikeStatus%22%3A0%2C%22count%22%3A1%7D%2C%22isSelf%22%3Afalse%2C%22content%22%3A%22%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%89%8D%E8%A8%80%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E6%9D%A5%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E5%BC%95%E5%AF%BC%E9%85%8D%E7%BD%AE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E7%BC%96%E5%86%99%20Shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E9%97%AE%E9%A2%98%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%94%B1%20Bash%20%E6%88%96%E8%80%85%20zsh%20%E6%89%A7%E8%A1%8C%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%98%AF%E8%87%AA%E5%8A%A8%E5%8C%96%E9%87%8D%E5%A4%8D%E4%BB%BB%E5%8A%A1%E7%9A%84%E5%A5%BD%E6%96%B9%E6%B3%95%E3%80%82Node.js%20%E4%BC%BC%E4%B9%8E%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E7%90%86%E6%83%B3%E9%80%89%E6%8B%A9%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E8%AE%B8%E5%A4%9A%E6%A0%B8%E5%BF%83%E6%A8%A1%E5%9D%97%EF%BC%8C%E5%B9%B6%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E5%AF%BC%E5%85%A5%E4%BB%BB%E4%BD%95%E6%88%91%E4%BB%AC%E9%80%89%E6%8B%A9%E7%9A%84%E5%BA%93%E3%80%82%E5%AE%83%E8%BF%98%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%AE%BF%E9%97%AE%20JavaScript%20%E6%8F%90%E4%BE%9B%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E5%92%8C%E5%86%85%E7%BD%AE%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E4%BD%A0%E5%B0%9D%E8%AF%95%E7%BC%96%E5%86%99%E8%BF%90%E8%A1%8C%E5%9C%A8%20Node.js%20%E4%B8%AD%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E4%BD%A0%E4%BC%9A%E5%8F%91%E7%8E%B0%E8%BF%99%E6%B2%A1%E6%9C%89%E4%BD%A0%E6%83%B3%E8%B1%A1%E4%B8%AD%E7%9A%84%E9%82%A3%E4%B9%88%E9%A1%BA%E5%88%A9%E3%80%82%E4%BD%A0%E9%9C%80%E8%A6%81%E4%B8%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%BC%96%E5%86%99%E7%89%B9%E6%AE%8A%E7%9A%84%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%EF%BC%8C%E6%B3%A8%E6%84%8F%E8%BD%AC%E4%B9%89%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%EF%BC%8C%E7%84%B6%E5%90%8E%E6%9C%80%E7%BB%88%E4%B8%8E%20stdout%EF%BC%88%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%89%E5%92%8C%20stderr%EF%BC%88%E6%A0%87%E5%87%86%E9%94%99%E8%AF%AF%EF%BC%89%E6%89%93%E4%BA%A4%E9%81%93%E3%80%82%E8%BF%99%E4%B8%8D%E6%98%AF%E7%89%B9%E5%88%AB%E7%9B%B4%E8%A7%82%EF%BC%8C%E8%80%8C%E4%B8%94%E4%BC%9A%E4%BD%BF%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E7%9B%B8%E5%BD%93%E7%AC%A8%E6%8B%99%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EBash%20shell%20%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E6%99%AE%E9%81%8D%E9%80%89%E6%8B%A9%E3%80%82%E4%B8%8D%E9%9C%80%E8%A6%81%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%E6%9D%A5%E5%A4%84%E7%90%86%E5%AD%90%E8%BF%9B%E7%A8%8B%EF%BC%8C%E8%80%8C%E4%B8%94%E5%AE%83%E6%9C%89%E5%86%85%E7%BD%AE%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E6%9D%A5%E5%A4%84%E7%90%86%20stdout%20%E5%92%8C%20stderr%E3%80%82%E4%BD%86%E6%98%AF%E7%94%A8%20Bash%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E4%B9%9F%E4%B8%8D%E6%98%AF%E9%82%A3%E4%B9%88%E5%AE%B9%E6%98%93%E3%80%82%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9B%B8%E5%BD%93%E6%B7%B7%E4%B9%B1%EF%BC%8C%E4%BD%BF%E5%BE%97%E5%AE%83%E5%AE%9E%E7%8E%B0%E9%80%BB%E8%BE%91%EF%BC%8C%E6%88%96%E8%80%85%E5%A4%84%E7%90%86%E8%AF%B8%E5%A6%82%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E7%9A%84%E4%BA%8B%E6%83%85%E9%9D%9E%E5%B8%B8%E5%9B%B0%E9%9A%BE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%9C%89%E5%8A%A9%E4%BA%8E%E8%AE%A9%E4%BD%BF%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E9%AB%98%E6%95%88%E5%92%8C%E8%88%92%E9%80%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BE%80%E4%B8%8B%E9%98%85%E8%AF%BB%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%E9%9C%80%E8%A6%81%E9%81%B5%E5%BE%AA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%90%86%E6%83%B3%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E4%BD%A0%E5%BA%94%E8%AF%A5%E7%86%9F%E6%82%89%20JavaScript%20%E5%92%8C%20Node.js%20%E7%9A%84%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E9%80%82%E5%BA%94%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20Node.js%20%26gt%3B%3D%20v14.13.1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cbr%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E4%BB%8E%20GitHub%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DysCUhsc%252BhqUmtqCo55t8jw%253D%253D.aWhjUaPje6eTlkcFFdhW%252FeIVYyAz5G%252FoPbGuXjsxlpcJphMKguwz3NoHWQ9o2vDb47Nfnm9kpIP6Ol5r6Euc8A%253D%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E8%8E%B7%E5%BE%97%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E8%BF%90%E4%BD%9C%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EGoogle%20%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%88%9B%E5%BB%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%A4%84%E7%90%86%E8%BF%99%E4%BA%9B%E8%BF%9B%E7%A8%8B%E7%9A%84%20stdout%20%E5%92%8C%20stderr%20%E7%9A%84%E5%87%BD%E6%95%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E7%9A%84%E4%B8%BB%E8%A6%81%E5%87%BD%E6%95%B0%E6%98%AF%24%E5%87%BD%E6%95%B0%E3%80%82%E4%B8%8B%E9%9D%A2%E6%98%AF%E5%AE%83%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AE%9E%E9%99%85%E4%BE%8B%E5%AD%90%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnawait%26nbsp%3B%24%60ls%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E6%89%A7%E8%A1%8C%E4%B8%8A%E8%BF%B0%E4%BB%A3%E7%A0%81%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnbootstrap-tool%5Cnhello-world%5Cnnode_modules%5Cnpackage.json%5CnREADME.md%5Cntypescript%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%E7%9A%84%20JavaScript%20%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9C%8B%E8%B5%B7%E6%9D%A5%E6%9C%89%E7%82%B9%E5%8F%A4%E6%80%AA%E3%80%82%E5%AE%83%E4%BD%BF%E7%94%A8%E4%BA%86%E4%B8%80%E7%A7%8D%E5%8F%AB%E5%81%9A%E5%B8%A6%E6%A0%87%E7%AD%BE%E7%9A%84%E6%A8%A1%E6%9D%BF%E5%AD%97%E7%AC%A6%E4%B8%B2%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DVUkodq5er%252Fynbhfl3MUQZA%253D%253D.%252Flx6oaDCVK4XuYyYLqvDi2QMWjCwW1jKBvNQgfaGG0AVwpl7I2CYD4sJYHuonDSA6jj1qSSypc0aGVO%252BYuBMUiibG6pBkVwusg%252Bai1hbMXetqlwMTWVUEAbtabMCbXIs%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E3%80%82%E5%AE%83%E5%9C%A8%E5%8A%9F%E8%83%BD%E4%B8%8A%E4%B8%8E%E7%BC%96%E5%86%99%20await%20%24(%26%2334%3Bls%26%2334%3B)%E7%9B%B8%E5%90%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%85%B6%E4%BB%96%E5%87%A0%E4%B8%AA%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%EF%BC%8C%E4%BD%BF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E6%9B%B4%E5%AE%B9%E6%98%93%E3%80%82%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ecd()%E3%80%82%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E6%9B%B4%E6%94%B9%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Equestion()%E3%80%82%E8%BF%99%E6%98%AF%20Node.js%20readline%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%8C%85%E8%A3%85%E5%99%A8%E3%80%82%E5%AE%83%E4%BD%BF%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E5%8F%98%E5%BE%97%E7%AE%80%E5%8D%95%E6%98%8E%E4%BA%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%99%A4%E4%BA%86%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%A4%96%EF%BC%8C%E5%AE%83%E8%BF%98%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E5%87%A0%E4%B8%AA%E6%B5%81%E8%A1%8C%E7%9A%84%E5%BA%93%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Echalk%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D%252FL15Y8OQNrp05Scx6N4iaQ%253D%253D.r8AZkfcE1Ye%252BlNUznFA9RNJMhfyM0lttTiD0TmqjJQwoi7zjQjs5YiLjI%252FWDEooY%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%99%E4%B8%AA%E5%BA%93%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E4%B8%BA%E8%84%9A%E6%9C%AC%E7%9A%84%E8%BE%93%E5%87%BA%E6%B7%BB%E5%8A%A0%E9%A2%9C%E8%89%B2%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Eminimist%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5tMQ5d6qJ4STEHZeuiN0MA%253D%253D.x9GPOpXVZp5TGKknZCkwA10QP%252Ftw%252BW7fwnpYGg%252BnlJPJLK3RboT3jqy5WuPLFwPZ%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E4%B8%AA%E8%A7%A3%E6%9E%90%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E7%9A%84%E5%BA%93%E3%80%82%E7%84%B6%E5%90%8E%E5%AE%83%E4%BB%AC%E5%9C%A8%20argv%20%E5%AF%B9%E8%B1%A1%E4%B8%8B%E8%A2%AB%E6%9A%B4%E9%9C%B2%E5%87%BA%E6%9D%A5%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efetch%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D71LC44tCu%252FZoLOY2B7MfuA%253D%253D.GO%252FMi37T0KTmj8UXau9xdFUBiIk1I%252F8M%252FHk2hZYrhRb%252Fd3Vl0bzlr05hanNxzuVb%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EFetch%20API%20%E7%9A%84%20Node.js%20%E5%AE%9E%E7%8E%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E8%BF%9B%E8%A1%8C%20HTTP%20%E8%AF%B7%E6%B1%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efs-extra%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DcPZzXniTRFJdbq87FdwLWw%253D%253D.IsmhSUEjIcZAqw8FDidbUnNhhIVPT1gsFSo%252BchiXCAs9AaxUVT%252FEgbIvswUDVmK2%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%B8%80%E4%B8%AA%E6%9A%B4%E9%9C%B2%20Node.js%20%E6%A0%B8%E5%BF%83%20fs%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%BA%93%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B9%E6%B3%95%EF%BC%8C%E4%BD%BF%E5%85%B6%E6%9B%B4%E5%AE%B9%E6%98%93%E4%B8%8E%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%80%E8%B5%B7%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9F%A5%E9%81%93%E4%BA%86%20zx%20%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E4%BB%80%E4%B9%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E7%94%A8%E5%AE%83%E5%88%9B%E5%BB%BA%E7%AC%AC%E4%B8%80%E4%B8%AA%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bzx-shell-scripts%5Cncd%26nbsp%3Bzx-shell-scripts%5Cnnpm%26nbsp%3Binit%26nbsp%3B--yes%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%AE%89%E8%A3%85%20zx%20%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bzx%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E7%9A%84%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E7%94%A8%20npm%20%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E8%AF%A5%E5%BA%93%E3%80%82%E9%80%9A%E8%BF%87%E5%B0%86%E5%85%B6%E5%AE%89%E8%A3%85%E4%B8%BA%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%A1%AE%E4%BF%9D%20zx%20%E6%80%BB%E6%98%AF%E8%A2%AB%E5%AE%89%E8%A3%85%EF%BC%8C%E5%B9%B6%E6%8E%A7%E5%88%B6%20shell%20%E8%84%9A%E6%9C%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E7%89%88%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A1%B6%E7%BA%A7%20await%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%20Node.js%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E9%A1%B6%E7%BA%A7%20await%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%20await%20%E4%BD%8D%E4%BA%8E%20async%20%E5%87%BD%E6%95%B0%E7%9A%84%E5%A4%96%E9%83%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%9C%A8%20ES%20%E6%A8%A1%E5%9D%97%E7%9A%84%E6%A8%A1%E5%BC%8F%E4%B8%8B%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%EF%BC%8C%E8%AF%A5%E6%A8%A1%E5%BC%8F%E6%94%AF%E6%8C%81%E9%A1%B6%E7%BA%A7%20await%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%20package.json%20%E4%B8%AD%E6%B7%BB%E5%8A%A0%20%26%2334%3Btype%26%2334%3B%3A%20%26%2334%3Bmodule%26%2334%3B%20%E6%80%8E%E4%B9%88%E6%80%8E%E4%B9%88%E6%9D%A5%E8%A1%A8%E6%98%8E%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%A8%A1%E5%9D%97%E9%83%BD%E6%98%AF%20ES%20%E6%A8%A1%E5%9D%97%E3%80%82%E6%88%96%E8%80%85%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%B0%86%E5%8D%95%E4%B8%AA%E8%84%9A%E6%9C%AC%E7%9A%84%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E8%AE%BE%E7%BD%AE%E4%B8%BA%20.mjs%20%E3%80%82%E5%9C%A8%E6%9C%AC%E6%96%87%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20.mjs%20%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E5%B9%B6%E6%8D%95%E8%8E%B7%E8%BE%93%E5%87%BA%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B0%86%E5%85%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world.mjs%20%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%AE%83%E5%91%8A%E8%AF%89%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%88OS%EF%BC%89%E7%9A%84%E5%86%85%E6%A0%B8%E8%A6%81%E7%94%A8%20node%20%E7%A8%8B%E5%BA%8F%E8%BF%90%E8%A1%8C%E8%AF%A5%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%BA%9B%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%BD%BF%E7%94%A8%20zx%20%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8B%E9%9D%A2%E7%9A%84%E4%BB%A3%E7%A0%81%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%20ls%20%E7%A8%8B%E5%BA%8F%E3%80%82ls%20%E7%A8%8B%E5%BA%8F%E5%B0%86%E5%88%97%E5%87%BA%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%88%E8%84%9A%E6%9C%AC%E6%89%80%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%EF%BC%89%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BB%8E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BF%9B%E7%A8%8B%E4%B8%AD%E6%8D%95%E8%8E%B7%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B0%86%E5%85%B6%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E7%84%B6%E5%90%8E%E6%89%93%E5%8D%B0%E5%88%B0%E7%BB%88%E7%AB%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cnconsole.log(output)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E6%8A%8A%2Fusr%2Fbin%2Fenv%20zx%20%E6%94%BE%E5%9C%A8%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E7%9A%84%20shebang%20%E8%A1%8C%E4%B8%AD%EF%BC%8C%E4%BD%86%E6%88%91%E4%BB%AC%E7%94%A8%2Fusr%2Fbin%2Fenv%20node%20%E4%BB%A3%E6%9B%BF%E3%80%82%E8%BF%99%E6%98%AF%E5%9B%A0%E4%B8%BA%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%20zx%EF%BC%8C%E5%B9%B6%E4%BD%9C%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E6%98%8E%E7%A1%AE%E5%9C%B0%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E6%83%B3%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%E3%80%82%E8%BF%99%E6%9C%89%E5%8A%A9%E4%BA%8E%E6%98%8E%E7%A1%AE%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E4%BE%9D%E8%B5%96%E6%9D%A5%E8%87%AA%E5%93%AA%E9%87%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%20chmod%20%E6%9D%A5%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E5%A6%82%E4%B8%8B%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%88ls%EF%BC%89%E8%A2%AB%E5%8C%85%E5%90%AB%E5%9C%A8%E8%BE%93%E5%87%BA%E4%B8%AD%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%E6%98%BE%E7%A4%BA%E4%B8%A4%E6%AC%A1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BE%93%E5%87%BA%E7%9A%84%E6%9C%AB%E5%B0%BE%E5%A4%9A%E4%BA%86%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E9%BB%98%E8%AE%A4%E4%BB%A5%20verbose%20%E6%A8%A1%E5%BC%8F%E8%BF%90%E8%A1%8C%E3%80%82%E5%AE%83%E5%B0%86%E8%BE%93%E5%87%BA%E4%BD%A0%E4%BC%A0%E9%80%92%E7%BB%99%24%E5%87%BD%E6%95%B0%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%90%8C%E6%97%B6%E4%B9%9F%E8%BE%93%E5%87%BA%E8%AF%A5%E5%91%BD%E4%BB%A4%E7%9A%84%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%E8%BF%90%E8%A1%8C%20ls%20%E5%91%BD%E4%BB%A4%E5%89%8D%E5%8A%A0%E5%85%A5%E4%BB%A5%E4%B8%8B%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E6%9D%A5%E6%94%B9%E5%8F%98%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A4%A7%E5%A4%9A%E6%95%B0%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%A6%82%20ls%EF%BC%8C%E4%BC%9A%E5%9C%A8%E5%85%B6%E8%BE%93%E5%87%BA%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E5%AD%97%E7%AC%A6%EF%BC%8C%E4%BB%A5%E4%BD%BF%E8%BE%93%E5%87%BA%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E6%9B%B4%E6%98%93%E8%AF%BB%E3%80%82%E8%BF%99%E5%AF%B9%E5%8F%AF%E8%AF%BB%E6%80%A7%E6%9C%89%E5%A5%BD%E5%A4%84%EF%BC%8C%E4%BD%86%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E8%A6%81%E5%B0%86%E8%BE%93%E5%87%BA%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E6%9C%89%E8%BF%99%E4%B8%AA%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B0%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%20JavaScript%20String%23trim()%E5%87%BD%E6%95%B0%E6%8A%8A%E5%AE%83%E5%8E%BB%E6%8E%89%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E-%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cn%2B%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout.trim()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%86%8D%E6%AC%A1%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E7%BB%93%E6%9E%9C%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%A5%BD%E5%BE%88%E5%A4%9A%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ehello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%BC%95%E5%85%A5%20TypeScript%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E6%83%B3%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%BC%96%E5%86%99%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%BE%AE%E5%B0%8F%E7%9A%84%E5%8C%BA%E5%88%AB%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%8A%A0%E4%BB%A5%E8%AF%B4%E6%98%8E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9ATypeScript%20%E7%BC%96%E8%AF%91%E5%99%A8%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E5%AE%83%E5%A6%82%E4%BD%95%E7%BC%96%E8%AF%91%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%E8%80%83%E8%99%91%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E4%B8%8B%E9%9D%A2%E7%9A%84%20TypeScript%20%E9%85%8D%E7%BD%AE%E5%92%8C%E4%BB%A3%E7%A0%81%E6%98%AF%E4%B8%BA%E4%BA%86%E5%9C%A8%E5%A4%A7%E5%A4%9A%E6%95%B0%20TypeScript%20%E7%89%88%E6%9C%AC%E4%B8%8B%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E5%AE%89%E8%A3%85%E9%9C%80%E8%A6%81%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E7%9A%84%E4%BE%9D%E8%B5%96%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Btypescript%26nbsp%3Bts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ets-node%20%E5%8C%85%E6%8F%90%E4%BE%9B%E4%BA%86%E4%B8%80%E4%B8%AA%20TypeScript%20%E6%89%A7%E8%A1%8C%E5%BC%95%E6%93%8E%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E8%83%BD%E5%A4%9F%E8%BD%AC%E8%AF%91%E5%92%8C%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%9C%80%E8%A6%81%E5%88%9B%E5%BB%BA%20tsconfig.json%20%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E4%B8%8B%E9%9D%A2%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%7B%5Cn%26%2334%3BcompilerOptions%26%2334%3B%3A%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Btarget%26%2334%3B%3A%26nbsp%3B%26%2334%3Bes2017%26%2334%3B%2C%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Bmodule%26%2334%3B%3A%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5Cn%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E6%96%B0%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B9%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world-typescript.ts%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E6%B7%BB%E5%8A%A0%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%91%8A%E8%AF%89%20OS%20%E5%86%85%E6%A0%B8%E4%BD%BF%E7%94%A8%20ts-node%20%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B.%2Fnode_modules%2F.bin%2Fts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E4%B8%AD%E4%BD%BF%E7%94%A8%20await%20%E5%85%B3%E9%94%AE%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E6%8A%8A%E5%AE%83%E5%8C%85%E8%A3%85%E5%9C%A8%E4%B8%80%E4%B8%AA%E7%AB%8B%E5%8D%B3%E8%B0%83%E7%94%A8%E5%87%BD%E6%95%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%EF%BC%88IIFE%EF%BC%89%E4%B8%AD%EF%BC%8C%E6%AD%A3%E5%A6%82%20zx%20%E6%96%87%E6%A1%A3%E6%89%80%E5%BB%BA%E8%AE%AE%E7%9A%84%E9%82%A3%E6%A0%B7%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world-typescript.ts%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnvoid%26nbsp%3B(async%26nbsp%3Bfunction%26nbsp%3B()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60ls%60%3B%5Cn%7D)()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E9%9C%80%E8%A6%81%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E4%B8%8B%E9%9D%A2%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world-typescript.ts%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cntsconfig.json%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%E8%84%9A%E6%9C%AC%E4%B8%8E%E4%BD%BF%E7%94%A8%20JavaScript%20%E7%9B%B8%E4%BC%BC%EF%BC%8C%E4%BD%86%E9%9C%80%E8%A6%81%E5%AF%B9%E6%88%91%E4%BB%AC%E7%9A%84%E4%BB%A3%E7%A0%81%E8%BF%9B%E8%A1%8C%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E9%85%8D%E7%BD%AE%E5%92%8C%E5%8C%85%E8%A3%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%9E%84%E5%BB%BA%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E7%94%A8%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AF%86%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E7%94%A8%E5%AE%83%E6%9D%A5%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B7%A5%E5%85%B7%E3%80%82%E8%BF%99%E4%B8%AA%E5%B7%A5%E5%85%B7%E5%B0%86%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E9%80%9A%E5%B8%B8%E5%BE%88%E8%80%97%E6%97%B6%E7%9A%84%E8%BF%87%E7%A8%8B%EF%BC%9A%E4%B8%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E7%9A%84%E9%85%8D%E7%BD%AE%E6%8F%90%E4%BE%9B%E5%BC%95%E5%AF%BC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BA%A4%E4%BA%92%E5%BC%8F%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E3%80%82%E5%AE%83%E8%BF%98%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E5%86%85%E7%BD%AE%E7%9A%84%20chalk%20%E5%BA%93%EF%BC%8C%E4%BB%A5%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A2%9C%E8%89%B2%E9%AB%98%E4%BA%AE%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B9%B6%E6%8F%90%E4%BE%9B%E4%B8%80%E4%B8%AA%E5%8F%8B%E5%A5%BD%E7%9A%84%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C%E3%80%82%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E8%BF%98%E5%B0%86%E5%AE%89%E8%A3%85%E6%96%B0%E9%A1%B9%E7%9B%AE%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%EF%BC%8C%E6%89%80%E4%BB%A5%E5%AE%83%E5%B7%B2%E7%BB%8F%E5%87%86%E5%A4%87%E5%A5%BD%E8%AE%A9%E6%88%91%E4%BB%AC%E7%AB%8B%E5%8D%B3%E5%BC%80%E5%A7%8B%E5%BC%80%E5%8F%91%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%87%86%E5%A4%87%E5%BC%80%E5%A7%8B%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%90%8D%E4%B8%BA%20bootstrap-tool.mjs%20%E7%9A%84%E6%96%B0%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B9%B6%E6%B7%BB%E5%8A%A0%20shebang%20%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E6%A8%A1%E5%9D%97%EF%BC%8C%E4%BB%A5%E5%8F%8A%20Node.js%20%E6%A0%B8%E5%BF%83%20path%20%E6%A8%A1%E5%9D%97%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%2F%2F%26nbsp%3Bbootstrap-tool.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%2C%26nbsp%3Bargv%2C%26nbsp%3Bcd%2C%26nbsp%3Bchalk%2C%26nbsp%3Bfs%2C%26nbsp%3Bquestion%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnimport%26nbsp%3Bpath%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bpath%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8E%E6%88%91%E4%BB%AC%E4%B9%8B%E5%89%8D%E5%88%9B%E5%BB%BA%E7%9A%84%E8%84%9A%E6%9C%AC%E4%B8%80%E6%A0%B7%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bbootstrap-tool.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E7%94%A8%E7%BA%A2%E8%89%B2%E6%96%87%E6%9C%AC%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%EF%BC%8C%E5%B9%B6%E4%BB%A5%E9%94%99%E8%AF%AF%E9%80%80%E5%87%BA%E4%BB%A3%E7%A0%81%201%20%E9%80%80%E5%87%BA%20Node.js%20%E8%BF%9B%E7%A8%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Efunction%26nbsp%3BexitWithError(errorMessage)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconsole.error(chalk.red(errorMessage))%3B%5Cn%26nbsp%3B%26nbsp%3Bprocess.exit(1)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BD%93%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%A4%84%E7%90%86%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E9%80%9A%E8%BF%87%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%9C%A8%E5%90%84%E4%B8%AA%E5%9C%B0%E6%96%B9%E4%BD%BF%E7%94%A8%E8%BF%99%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%E4%B8%89%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%9Agit%E3%80%81node%20%E5%92%8C%20npx%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20which%20%E5%BA%93%E6%9D%A5%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E6%A3%80%E6%9F%A5%E8%BF%99%E4%BA%9B%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%E5%B9%B6%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20which%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bwhich%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%BC%95%E5%85%A5%E5%AE%83%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3Bwhich%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bwhich%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BD%BF%E7%94%A8%E5%AE%83%E7%9A%84%20checkRequiredProgramsExist%20%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckRequiredProgramsExist(programs)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3Bprogram%26nbsp%3Bof%26nbsp%3Bprograms)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bwhich(program)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BRequired%26nbsp%3Bcommand%26nbsp%3B%24%7Berror.message%7D%60)%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%90%8D%E7%A7%B0%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%95%B0%E7%BB%84%EF%BC%8C%E5%AF%B9%E6%AF%8F%E4%B8%AA%E7%A8%8B%E5%BA%8F%E8%B0%83%E7%94%A8%20which%20%E5%87%BD%E6%95%B0%E3%80%82%E5%A6%82%E6%9E%9C%20which%20%E6%89%BE%E5%88%B0%E4%BA%86%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%B7%AF%E5%BE%84%EF%BC%8C%E5%AE%83%E5%B0%86%E8%BF%94%E5%9B%9E%E8%AF%A5%E7%A8%8B%E5%BA%8F%E3%80%82%E5%90%A6%E5%88%99%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%AF%A5%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E6%8A%9B%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E3%80%82%E5%A6%82%E6%9E%9C%E6%9C%89%E4%BB%BB%E4%BD%95%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E8%B0%83%E7%94%A8%20exitWithError%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%E5%B9%B6%E5%81%9C%E6%AD%A2%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%8F%AF%E4%BB%A5%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%AF%B9%20checkRequiredProgramsExist%20%E7%9A%84%E8%B0%83%E7%94%A8%EF%BC%8C%E4%BB%A5%E6%A3%80%E6%9F%A5%E6%88%91%E4%BB%AC%E7%9A%84%E5%B7%A5%E5%85%B7%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%8F%AF%E7%94%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckRequiredProgramsExist(%5B%26%2334%3Bgit%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnode%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnpx%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%B7%BB%E5%8A%A0%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E9%80%89%E9%A1%B9%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%B0%86%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E5%90%AF%E5%8A%A8%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%88%91%E4%BB%AC%E5%B8%8C%E6%9C%9B%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9A%84%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E3%80%82%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E8%A6%81%E7%BB%99%E8%84%9A%E6%9C%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20--directory%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E5%86%85%E7%BD%AE%E4%BA%86%20minimist%20%E5%8C%85%EF%BC%8C%E5%AE%83%E8%83%BD%E5%A4%9F%E8%A7%A3%E6%9E%90%E4%BC%A0%E9%80%92%E7%BB%99%E8%84%9A%E6%9C%AC%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%E8%BF%99%E4%BA%9B%E8%A2%AB%E8%A7%A3%E6%9E%90%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E8%A2%AB%20zx%20%E5%8C%85%E4%BD%9C%E4%B8%BA%20argv%20%E6%8F%90%E4%BE%9B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E5%90%8D%E4%B8%BA%20directory%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E6%A3%80%E6%9F%A5%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Elet%26nbsp%3BtargetDirectory%26nbsp%3B%3D%26nbsp%3Bargv.directory%3B%5Cnif%26nbsp%3B(!targetDirectory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%26%2334%3BError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%26%2334%3B)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%20directory%20%E5%8F%82%E6%95%B0%E8%A2%AB%E4%BC%A0%E9%80%92%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%E5%AE%83%E6%98%AF%E5%90%A6%E6%98%AF%E5%B7%B2%E7%BB%8F%E5%AD%98%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%E7%9A%84%E8%B7%AF%E5%BE%84%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%8F%90%E4%BE%9B%E7%9A%84%20fs.pathExists%20%E6%96%B9%E6%B3%95%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3EtargetDirectory%26nbsp%3B%3D%26nbsp%3Bpath.resolve(targetDirectory)%3B%5Cnif%26nbsp%3B(!(await%26nbsp%3Bfs.pathExists(targetDirectory)))%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BTarget%26nbsp%3Bdirectory%26nbsp%3B%26%2339%3B%24%7BtargetDirectory%7D%26%2339%3B%26nbsp%3Bdoes%26nbsp%3Bnot%26nbsp%3Bexist%60)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E8%B7%AF%E5%BE%84%E5%AD%98%E5%9C%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%20cd%20%E5%87%BD%E6%95%B0%E6%9D%A5%E5%88%87%E6%8D%A2%E5%BD%93%E5%89%8D%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%9A%E2%80%8D%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ecd(targetDirectory)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%9C%A8%E6%B2%A1%E6%9C%89--directory%20%E5%8F%82%E6%95%B0%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E5%BA%94%E8%AF%A5%E4%BC%9A%E6%94%B6%E5%88%B0%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3B.%2Fbootstrap-tool.mjs%5CnError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E5%85%A8%E5%B1%80%20Git%20%E8%AE%BE%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%A8%8D%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%8C%E4%BD%86%E9%A6%96%E5%85%88%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%20Git%20%E6%98%AF%E5%90%A6%E6%9C%89%E5%AE%83%E9%9C%80%E8%A6%81%E7%9A%84%E9%85%8D%E7%BD%AE%E3%80%82%E6%88%91%E4%BB%AC%E8%A6%81%E7%A1%AE%E4%BF%9D%E6%8F%90%E4%BA%A4%E4%BC%9A%E8%A2%AB%20GitHub%20%E7%AD%89%E4%BB%A3%E7%A0%81%E6%89%98%E7%AE%A1%E6%9C%8D%E5%8A%A1%E6%AD%A3%E7%A1%AE%E5%BD%92%E7%B1%BB%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%81%9A%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E8%BF%99%E9%87%8C%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E7%B4%A2%20Git%20%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%E7%9A%84%E5%80%BC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetGlobalGitSettingValue(settingName)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B%26%2334%3B%26%2334%3B%3B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60git%26nbsp%3Bconfig%26nbsp%3B--global%26nbsp%3B--get%26nbsp%3B%24%7BsettingName%7D%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B).stdout.trim()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%2F%2F%26nbsp%3BIgnore%26nbsp%3Bprocess%26nbsp%3Boutput%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BsettingValue%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E5%85%B3%E9%97%AD%20zx%20%E9%BB%98%E8%AE%A4%E8%AE%BE%E7%BD%AE%E7%9A%84%20verbose%20%E6%A8%A1%E5%BC%8F%E3%80%82%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%EF%BC%8C%E5%BD%93%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%97%B6%EF%BC%8C%E8%AF%A5%E5%91%BD%E4%BB%A4%E5%92%8C%E5%AE%83%E5%8F%91%E9%80%81%E5%88%B0%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E7%9A%84%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9%E9%83%BD%E4%B8%8D%E4%BC%9A%E8%A2%AB%E6%98%BE%E7%A4%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%9C%A8%E5%87%BD%E6%95%B0%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E5%B0%86%20verbose%20%E6%A8%A1%E5%BC%8F%E9%87%8D%E6%96%B0%E6%89%93%E5%BC%80%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E5%BD%B1%E5%93%8D%E5%88%B0%E6%88%91%E4%BB%AC%E7%A8%8D%E5%90%8E%E5%9C%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%85%B6%E4%BB%96%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%20checkGlobalGitSettings%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A5%E5%87%BD%E6%95%B0%E6%8E%A5%E6%94%B6%20Git%20%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%E7%BB%84%E6%88%90%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%B0%86%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%AF%8F%E4%B8%AA%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E4%BC%A0%E9%80%92%E7%BB%99%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E4%BB%A5%E6%A3%80%E7%B4%A2%E5%85%B6%E5%80%BC%E3%80%82%E5%A6%82%E6%9E%9C%E8%AE%BE%E7%BD%AE%E6%B2%A1%E6%9C%89%E5%80%BC%EF%BC%8C%E5%B0%86%E6%98%BE%E7%A4%BA%E8%AD%A6%E5%91%8A%E4%BF%A1%E6%81%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckGlobalGitSettings(settingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3BsettingName%26nbsp%3Bof%26nbsp%3BsettingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetGlobalGitSettingValue(settingName)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!settingValue)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.warn(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.yellow(%60Warning%3A%26nbsp%3BGlobal%26nbsp%3Bgit%26nbsp%3Bsetting%26nbsp%3B%26%2339%3B%24%7BsettingName%7D%26%2339%3B%26nbsp%3Bis%26nbsp%3Bnot%26nbsp%3Bset.%60)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E7%BB%99%20checkGlobalGitSettings%20%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E8%B0%83%E7%94%A8%EF%BC%8C%E6%A3%80%E6%9F%A5%20user.name%20%E5%92%8C%20user.email%20%E7%9A%84%20Git%20%E8%AE%BE%E7%BD%AE%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E8%A2%AB%E8%AE%BE%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckGlobalGitSettings(%5B%26%2334%3Buser.name%26%2334%3B%2C%26nbsp%3B%26%2334%3Buser.email%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%88%9D%E5%A7%8B%E5%8C%96%20Git%20%E4%BB%93%E5%BA%93%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E6%B7%BB%E5%8A%A0%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Binit%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20package.json%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%AF%8F%E4%B8%AA%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%83%BD%E9%9C%80%E8%A6%81%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E8%BF%99%E6%98%AF%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E5%AE%9A%E4%B9%89%E5%85%83%E6%95%B0%E6%8D%AE%E7%9A%84%E5%9C%B0%E6%96%B9%EF%BC%8C%E6%8C%87%E5%AE%9A%E9%A1%B9%E7%9B%AE%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E5%8C%85%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%B7%BB%E5%8A%A0%E5%AE%9E%E7%94%A8%E7%9A%84%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%94%9F%E6%88%90%20package.json%20%E6%96%87%E4%BB%B6%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E5%87%A0%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%98%AF%20readPackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%AF%BB%E5%8F%96%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BreadPackageJson(directory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3Bfs.readJSON(packageJsonFilepath)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20writePackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E5%90%91%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E5%86%99%E5%85%A5%E6%9B%B4%E6%94%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BwritePackageJson(directory%2C%26nbsp%3Bcontents)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bfs.writeJSON(packageJsonFilepath%2C%26nbsp%3Bcontents%2C%26nbsp%3B%7B%26nbsp%3Bspaces%3A%26nbsp%3B2%26nbsp%3B%7D)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%20fs.readJSON%20%E5%92%8C%20fs.writeJSON%20%E6%96%B9%E6%B3%95%E6%98%AF%E7%94%B1%20fs-extra%20%E5%BA%93%E6%8F%90%E4%BE%9B%E7%9A%84%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E5%AE%9A%E4%B9%89%E4%BA%86%20package.json%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%BC%80%E5%A7%8B%E8%80%83%E8%99%91%20package.json%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E6%94%AF%E6%8C%81%E4%B8%A4%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ECommonJS%20Modules%20(CJS)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DKTweLvts6a1zOlUbn0cnCA%253D%253D.WRSoJ3t37Y2GYjanjStt81N%252BkCOGoR11gK8pv6Fck09uaKTSXHq5mvMcWutIRxYU%3C%2Fspan%3E%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%BF%E7%94%A8%20module.exports%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20require()%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EECMAScript%20Modules%20(ESM)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DOUbF%252BkjeOpAlt3Fo9PFGFw%253D%253D.Ex%252BQVnop7rVNKtYxrnp%252Fhcm08eFRE7K2XLUBlFFQ7D4%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%BD%BF%E7%94%A8%20export%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20import%20%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E7%94%9F%E6%80%81%E7%B3%BB%E7%BB%9F%E6%AD%A3%E5%9C%A8%E9%80%90%E6%AD%A5%E9%87%87%E7%94%A8%20ES%20%E6%A8%A1%E5%9D%97%EF%BC%8C%E8%BF%99%E5%9C%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%20JavaScript%20%E4%B8%AD%E6%98%AF%E5%BE%88%E5%B8%B8%E8%A7%81%E7%9A%84%E3%80%82%E5%BD%93%E4%BA%8B%E6%83%85%E5%A4%84%E4%BA%8E%E8%BF%87%E6%B8%A1%E9%98%B6%E6%AE%B5%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%86%B3%E5%AE%9A%E6%88%91%E4%BB%AC%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%BB%98%E8%AE%A4%E4%BD%BF%E7%94%A8%20CJS%20%E6%A8%A1%E5%9D%97%E8%BF%98%E6%98%AF%20ESM%20%E6%A8%A1%E5%9D%97%E3%80%82%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%BF%99%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForModuleSystem(moduleSystems)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Which%26nbsp%3BNode.js%26nbsp%3Bmodule%26nbsp%3Bsystem%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Buse%3F%26nbsp%3B(%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26nbsp%3Bor%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D)%26nbsp%3B%60%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchoices%3A%26nbsp%3BmoduleSystems%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BmoduleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E5%87%BD%E6%95%B0%E4%BD%BF%E7%94%A8%E7%9A%84%20question%20%E5%87%BD%E6%95%B0%E7%94%B1%20zx%20%E6%8F%90%E4%BE%9B%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getNodeModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E8%B0%83%E7%94%A8%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E6%A3%80%E6%9F%A5%E6%89%80%E8%BE%93%E5%85%A5%E7%9A%84%E5%80%BC%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%8D%E6%98%AF%EF%BC%8C%E5%AE%83%E5%B0%86%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetNodeModuleSystem()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystems%26nbsp%3B%3D%26nbsp%3B%5B%26%2334%3Bmodule%26%2334%3B%2C%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForModuleSystem(moduleSystems)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BisValidModuleSystem%26nbsp%3B%3D%26nbsp%3BmoduleSystems.includes(selectedModuleSystem)%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!isValidModuleSystem)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BModule%26nbsp%3Bsystem%26nbsp%3Bmust%26nbsp%3Bbe%26nbsp%3Beither%26nbsp%3B%26%2339%3B%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26%2339%3B%26nbsp%3Bor%26nbsp%3B%26%2339%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%26%2339%3B%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BselectedModuleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E8%BF%90%E8%A1%8C%20npm%20init%20%E5%91%BD%E4%BB%A4%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npm%26nbsp%3Binit%26nbsp%3B--yes%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E8%AF%BB%E5%8F%96%E6%96%B0%E5%88%9B%E5%BB%BA%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E8%AF%A2%E9%97%AE%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%B3%BB%E7%BB%9F%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA%20packageJson%20%E5%AF%B9%E8%B1%A1%E4%B8%AD%E7%9A%84%20type%20%E5%B1%9E%E6%80%A7%E5%80%BC%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%E5%85%B6%E5%86%99%E5%9B%9E%E5%88%B0%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackageJson%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5CnpackageJson.type%26nbsp%3B%3D%26nbsp%3BselectedModuleSystem%3B%5Cnawait%26nbsp%3BwritePackageJson(targetDirectory%2C%26nbsp%3BpackageJson)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%8F%90%E7%A4%BA%EF%BC%9A%E5%BD%93%E4%BD%A0%E7%94%A8--yes%20%E6%A0%87%E5%BF%97%E8%BF%90%E8%A1%8C%20npm%20init%20%E6%97%B6%EF%BC%8C%E8%A6%81%E6%83%B3%E5%9C%A8%20package.json%20%E4%B8%AD%E8%8E%B7%E5%BE%97%E5%90%88%E7%90%86%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%EF%BC%8C%E8%AF%B7%E7%A1%AE%E4%BF%9D%E4%BD%A0%E8%AE%BE%E7%BD%AE%E4%BA%86%20npminit-*%E7%9A%84%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DX0aVKO8sVtj0bgZhFmgjVw%253D%253D.hxYbJxX5X2odlcPpk5MdIVLkT7ESAsFMhFnFSRBftI2c2BjNTUCtV1gwdXnpxWGI%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E9%A1%B9%E7%9B%AE%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E4%BD%BF%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E5%90%8E%E8%83%BD%E5%A4%9F%E8%BD%BB%E6%9D%BE%E5%9C%B0%E5%BC%80%E5%A7%8B%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForPackages%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E5%93%AA%E4%BA%9B%20npm%20%E5%8C%85%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForPackages()%26nbsp%3B%7B%5Cnlet%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3BWhich%26nbsp%3Bnpm%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Binstall%26nbsp%3Bfor%26nbsp%3Bthis%26nbsp%3Bproject%3F%26nbsp%3B%26%2334%3B%5Cn)%3B%5CnpackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall%5Cn%26nbsp%3B%26nbsp%3B.trim()%5Cn%26nbsp%3B%26nbsp%3B.split(%26%2334%3B%26nbsp%3B%26%2334%3B)%5Cn%26nbsp%3B%26nbsp%3B.filter((pkg)%26nbsp%3B%3D%26gt%3B%26nbsp%3Bpkg)%3B%5Cnreturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E9%98%B2%E6%AD%A2%E6%88%91%E4%BB%AC%E5%9C%A8%E8%BE%93%E5%85%A5%E5%8C%85%E5%90%8D%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E5%88%AB%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20identifyInvalidNpmPackages%20%E5%87%BD%E6%95%B0%E3%80%82%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E5%B0%86%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%20npm%20%E5%8C%85%E5%90%8D%E6%95%B0%E7%BB%84%EF%BC%8C%E7%84%B6%E5%90%8E%E8%BF%90%E8%A1%8C%20npm%20view%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E6%9F%A5%E5%AE%83%E4%BB%AC%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BidentifyInvalidNpmPackages(packages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3B%5B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(const%26nbsp%3Bpkg%26nbsp%3Bof%26nbsp%3Bpackages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Bview%26nbsp%3B%24%7Bpkg%7D%60%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BinvalidPackages.push(pkg)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BinvalidPackages%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getPackagesToInstall%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E5%88%9A%E5%88%9A%E5%88%9B%E5%BB%BA%E7%9A%84%E4%B8%A4%E4%B8%AA%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetPackagesToInstall()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForPackages()%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BidentifyInvalidNpmPackages(packagesToInstall)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BallPackagesExist%26nbsp%3B%3D%26nbsp%3BinvalidPackages.length%26nbsp%3B%3D%3D%3D%26nbsp%3B0%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!allPackagesExist)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BThe%26nbsp%3Bfollowing%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Bnot%26nbsp%3Bexist%26nbsp%3Bon%26nbsp%3Bnpm%3A%26nbsp%3B%24%7BinvalidPackages.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%2C%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%9C%89%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%90%8D%E7%A7%B0%E4%B8%8D%E6%AD%A3%E7%A1%AE%EF%BC%8C%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E6%97%A6%E6%88%91%E4%BB%AC%E5%BE%97%E5%88%B0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E6%9C%89%E6%95%88%E5%8C%85%E5%88%97%E8%A1%A8%EF%BC%8C%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20npm%20install%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E5%AE%89%E8%A3%85%E5%AE%83%E4%BB%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cnconst%26nbsp%3BhavePackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall.length%26nbsp%3B%26gt%3B%26nbsp%3B0%3B%5Cnif%26nbsp%3B(havePackagesToInstall)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Binstall%26nbsp%3B%24%7BpackagesToInstall%7D%60%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E4%B8%BA%E5%B7%A5%E5%85%B7%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE%E6%98%AF%E6%88%91%E4%BB%AC%E7%94%A8%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E7%9A%84%E6%9C%80%E4%BD%B3%E4%BA%8B%E9%A1%B9%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA.gitignore%20%E6%96%87%E4%BB%B6%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E6%84%8F%E5%A4%96%E5%9C%B0%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E5%9C%A8%20Git%20%E4%BB%93%E5%BA%93%E4%B8%AD%E5%87%BA%E7%8E%B0%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bgitignore%26nbsp%3Bnode%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8%20gitignore%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DV%252FIoxipE2WxmNECDRNKMqg%253D%253D.7Y4d34n%252BoUVlJkYEiJt3NLa9RHn2pYtKq%252BHpO67HIQjfjKAHIxcMynZzTudktHaV%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E5%8C%85%EF%BC%8C%E4%BB%8E%20GitHub%20%E7%9A%84%20gitignore%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3E%20https%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DSzh56TKqT6gYmrJidM7ZXg%253D%253D.BK7Vf5F73GaplJKeN48OsobM6U4EPriatZOr3dBhsSVZIuIUiktyqfS1jhLLtQ7o%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E6%A8%A1%E6%9D%BF%E4%B8%AD%E6%8B%89%E5%8F%96%20Node.js%20%E7%9A%84.gitignore%20%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E7%9A%84%20EditorConfig%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DdGD5%252BEyCTqLfqDSif7%252FHgQ%253D%253D.xgNWBjR6m%252FIUFlG1UmM3CYX2R%252BLXFN531lZhlvCRRWs%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%81Prettier%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3Dn7clHFqLMZZala0zu1JjdQ%253D%253D.jivAg4cL8HkSAhuurMUHrlfhGGILOpveTQR0rjCRXyg%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%92%8C%20ESLint%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DJ4jXEAmmBQ83%252FWSrOtTsAQ%253D%253D.b%252FKC0kT%252FZWZQ9KBItXDMQHWJBzc5aW9hUZsxWHBsMY4%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E4%B8%80%E4%B8%AA%E5%8F%AB%E5%81%9A%20Mrm%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E7%9A%84%20mrm%20%E4%BE%9D%E8%B5%96%E9%A1%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--global%26nbsp%3Bmrm%26nbsp%3Bmrm-task-editorconfig%26nbsp%3Bmrm-task-prettier%26nbsp%3Bmrm-task-eslint%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%B7%BB%E5%8A%A0%20mrm%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beditorconfig%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Bprettier%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beslint%60%3B%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EMrm%20%E8%B4%9F%E8%B4%A3%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%E3%80%82%E5%AE%83%E8%BF%98%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E7%94%9F%E6%88%90%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BB%A5%E7%AC%A6%E5%90%88%E6%88%91%E4%BB%AC%E7%9A%84%E4%B8%AA%E4%BA%BA%E5%81%8F%E5%A5%BD%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20README%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E7%9A%84%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%E8%AF%BB%E5%8F%96%E9%A1%B9%E7%9B%AE%E5%90%8D%E7%A7%B0%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA%E5%9F%BA%E6%9C%AC%E7%9A%84%20Markdown%20%E6%A0%BC%E5%BC%8F%E7%9A%84%20README%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E5%86%99%E5%85%A5%20README.md%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3B%7B%26nbsp%3Bname%3A%26nbsp%3BprojectName%26nbsp%3B%7D%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BreadmeContents%26nbsp%3B%3D%26nbsp%3B%60%23%26nbsp%3B%24%7BprojectName%7D%5Cn...%5Cn%60%3B%5Cnawait%26nbsp%3Bfs.writeFile(%60%24%7BtargetDirectory%7D%2FREADME.md%60%2C%26nbsp%3BreadmeContents)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%9A%B4%E9%9C%B2%E7%9A%84%20fs.writeFile%20%E7%9A%84%20promise%20%E5%8F%98%E9%87%8F%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%8F%90%E4%BA%A4%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%80%E5%90%8E%EF%BC%8C%E6%98%AF%E6%97%B6%E5%80%99%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E7%94%A8%20git%20%E5%88%9B%E5%BB%BA%E7%9A%84%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%E4%BA%86%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Badd%26nbsp%3B.%60%3B%5Cnawait%26nbsp%3B%24%60git%26nbsp%3Bcommit%26nbsp%3B-m%26nbsp%3B%26%2334%3BAdd%26nbsp%3Bproject%26nbsp%3Bskeleton%26%2334%3B%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E6%9D%A1%E6%B6%88%E6%81%AF%EF%BC%8C%E7%A1%AE%E8%AE%A4%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B7%B2%E7%BB%8F%E6%88%90%E5%8A%9F%E5%90%AF%E5%8A%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econsole.log(%5Cn%26nbsp%3B%26nbsp%3Bchalk.green(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60%5C%5Cn%E2%9C%94%EF%B8%8F%26nbsp%3BThe%26nbsp%3Bproject%26nbsp%3B%24%7BprojectName%7D%26nbsp%3Bhas%26nbsp%3Bbeen%26nbsp%3Bsuccessfully%26nbsp%3Bbootstrapped!%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B)%5Cn)%3B%5Cnconsole.log(chalk.green(%60Add%26nbsp%3Ba%26nbsp%3Bgit%26nbsp%3Bremote%26nbsp%3Band%26nbsp%3Bpush%26nbsp%3Byour%26nbsp%3Bchanges.%60))%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%90%AF%E5%8A%A8%E6%96%B0%E9%A1%B9%E7%9B%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bnew-project%5Cn.%2Fbootstrap-tool.mjs%26nbsp%3B--directory%26nbsp%3Bnew-project%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%B9%B6%E8%A7%82%E7%9C%8B%E6%88%91%E4%BB%AC%E6%89%80%E5%81%9A%E7%9A%84%E4%B8%80%E5%88%87%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%80%BB%E7%BB%93%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E5%A6%82%E4%BD%95%E5%9C%A8%20Node.js%20%E4%B8%AD%E5%80%9F%E5%8A%A9%20Google%20%E7%9A%84%20zx%20%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E5%BC%BA%E5%A4%A7%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E4%BA%86%E5%AE%83%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%92%8C%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%81%B5%E6%B4%BB%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%B0%E7%9B%AE%E5%89%8D%E4%B8%BA%E6%AD%A2%EF%BC%8C%E6%88%91%E4%BB%AC%E6%89%80%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%8F%AA%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BC%80%E5%A7%8B%E3%80%82%E8%BF%99%E9%87%8C%E6%9C%89%E4%B8%80%E4%BA%9B%E5%8A%9F%E8%83%BD%E7%82%B9%E5%AD%90%EF%BC%8C%E4%BD%A0%E5%8F%AF%E8%83%BD%E6%83%B3%E5%B0%9D%E8%AF%95%E8%87%AA%E5%B7%B1%E6%B7%BB%E5%8A%A0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E3%80%82%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E8%BF%98%E4%B8%8D%E5%AD%98%E5%9C%A8%EF%BC%8C%E5%88%99%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E5%B9%B6%E8%AF%A2%E9%97%AE%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E6%83%B3%E8%A6%81%E4%B8%BA%E4%BB%96%E4%BB%AC%E5%88%9B%E5%BB%BA%E8%AF%A5%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BC%80%E6%BA%90%E5%8D%AB%E7%94%9F%E3%80%82%E9%97%AE%E9%97%AE%E7%94%A8%E6%88%B7%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E5%9C%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B0%86%E6%98%AF%E5%BC%80%E6%BA%90%E7%9A%84%E9%A1%B9%E7%9B%AE%E3%80%82%E5%A6%82%E6%9E%9C%E6%98%AF%E7%9A%84%E8%AF%9D%EF%BC%8C%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E8%AE%B8%E5%8F%AF%E8%AF%81%E5%92%8C%E8%B4%A1%E7%8C%AE%E8%80%85%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%20GitHub%20%E4%B8%8A%E7%9A%84%E4%BB%93%E5%BA%93%E3%80%82%E6%B7%BB%E5%8A%A0%E4%BD%BF%E7%94%A8%20GitHub%20CLI%20%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%9C%A8%20GitHub%20%E4%B8%8A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E3%80%82%E4%B8%80%E6%97%A6%E7%94%A8%20Git%20%E6%8F%90%E4%BA%A4%E4%BA%86%E5%88%9D%E5%A7%8B%E9%AA%A8%E6%9E%B6%EF%BC%8C%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E6%8E%A8%E9%80%81%E5%88%B0%E8%BF%99%E4%B8%AA%E4%BB%93%E5%BA%93%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E5%9C%A8%20GitHub%20%E4%B8%8A%E6%89%BE%E5%88%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E8%AF%91%E8%87%AA%EF%BC%9A%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5Z%252ByLQNgua%252FY5gnguxXllg%253D%253D.SeNINYETng%252BH6uZupDjhsYNRqM5GWB5jXVDlvMdMqsO9u3CmWfwe8DwT48iAvK%252Fsm8pflQ8jbxHc1sB281%252B6pA%253D%253D%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%9C%E8%80%85%EF%BC%9A%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3ESimon%20Plenderleith%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BB%A5%E4%B8%8A%E5%B0%B1%E6%98%AF%E6%9C%AC%E6%96%87%E7%9A%84%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9%E3%80%82%E5%A6%82%E6%9E%9C%E5%AF%B9%E4%BD%A0%E6%9C%89%E6%89%80%E5%B8%AE%E5%8A%A9%EF%BC%8C%E6%AC%A2%E8%BF%8E%E7%82%B9%E8%B5%9E%E3%80%81%E6%94%B6%E8%97%8F%E3%80%81%E8%BD%AC%E5%8F%91~%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Chr%3E%22%2C%22imageList%22%3A%5B%5D%2C%22mediaInfo%22%3A%7B%22userId%22%3A%22MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH%22%2C%22unsafeUserId%22%3A%224288553596503552%22%2C%22name%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22avatarUrl%22%3A%22https%3A%2F%2Fsf3-cdn-tos.toutiaostatic.com%2Fimg%2Fuser-avatar%2Fc14bb151d3505084033c82ee8238acde~300x300.image%22%2C%22description%22%3A%22%E6%AC%A2%E8%BF%8E%E5%85%B3%E6%B3%A8VX%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22userVerified%22%3A1%7D%2C%22seoTDK%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC-%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1%22%2C%22description%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22keywords%22%3A%22%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%2CNode.js%2CGoogle%2CJavaScript%2CBash%2CTypeScript%2CZsh%2CGitHub%2C%E7%BE%8E%E5%A5%BD%EF%BC%8C%E4%B8%80%E7%9B%B4%E5%9C%A8%E8%BA%AB%E8%BE%B9%22%2C%22publishTimestamp%22%3A%221678237205%22%2C%22modifiedTimestamp%22%3A%221685548306%22%7D%2C%22cover%22%3A%22https%3A%2F%2Fp3-sign.toutiaoimg.com%2Flarge%2Ftos-cn-i-qvj2lq49k0%2F7894dd4439eb4e78ad35208f496e841a%3F_iz%3D58558%26from%3Darticle.pc_detail%26x-expires%3D1690103402%26x-signature%3D5z%252FNWR2V4o%252B5W0fhczXkGuaSyYE%253D%22%2C%22logId%22%3A%222023071617100290B65219A60FE2C10ABA%22%2C%22sylpageConfig%22%3A%7B%22card%22%3A%7B%22id%22%3A%22%22%7D%7D%2C%22identity%22%3A%7B%22web_id%22%3A%227235169635611018810%22%2C%22user_is_login%22%3Afalse%7D%2C%22abtestInfo%22%3A%7B%22rsp_type%22%3A5%2C%22version_name%22%3A%224938400%22%2C%22parameters%22%3A%7B%22filter%22%3A%7B%22debug_enable_pc_small_video%22%3Afalse%2C%22enable_pc_small_video%22%3Atrue%7D%2C%22home_nav_conf%22%3A%7B%22dcd_out%22%3A1%7D%2C%22optimus%22%3A%7B%22rule_rank_rules%22%3A%22ranking_rule_list%20%7B%5Cn%20%20id%3A%201221233%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2212123%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%202%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%2020458%5Cn%20%20priority%3A%203%5Cn%20%20enabled%3A%20true%5Cn%20%20category%3A%2020458%5Cn%20%20type%3A%20WINDOW%5Cn%20%20window_rule%20%7B%5Cn%20%20%20%20type%3A%20SLIDE%5Cn%20%20%20%20size%3A%203%5Cn%20%20%20%20max%3A%201%5Cn%20%20%7D%5Cn%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%201111024%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2211024%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%206%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%22%7D%2C%22page_upgrade%22%3A%7B%22new_profile%22%3Atrue%2C%22video_double_column%22%3Atrue%7D%2C%22recall%22%3A%7B%22debug_filter_reason_list%22%3A%5B%5D%2C%22debug_recall_reason_list%22%3A%5B70%2C71%2C72%2C73%2C80%2C83%5D%2C%22enable_debug_filter_reason%22%3Atrue%2C%22enable_debug_recall_reason%22%3Atrue%2C%22friend_feed%22%3A%7B%22control_nums%22%3A1500%2C%22count%22%3A1000%2C%22enable%22%3Atrue%2C%22enable_cpp_friend_feed%22%3Atrue%2C%22enable_friend_feed_container_filter%22%3Atrue%2C%22enable_group_status_filter%22%3Atrue%2C%22params%22%3A%7B%7D%2C%22top_k%22%3A10%2C%22use_new_friend_recall%22%3Atrue%2C%22valid_group_source%22%3A%5B2%2C5%2C15%2C23%2C16%2C19%2C21%2C132%5D%2C%22weight%22%3A20%7D%7D%2C%22seraph%22%3A%7B%22rule_rank_rules_pc_small%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20%20%20%20%20%20id%3A%2022124%20%5Cn%20%20%20%20%20%20%20%20%20priority%3A%200%20%5Cn%20%20%20%20%20%20%20%20%20tags%3A%20%5C%2222124%5C%22%20%5Cn%20%20%20%20%20%20%20%20%20enabled%3A%20true%20%5Cn%20%20%20%20%20%20%20%20%20type%3A%20CARD%20%5Cn%20%20%20%20%20%20%20%20%20card_rule%20%7B%20%5Cn%20%20%20%20%20%20%20%20%20size%3A%206%20%5Cn%20%20%20%20%20%20%20%20%20num_cards%3A%201%5Cn%20%20%20%20%20%20%20%20%20type%3A%20SAME_SLOT%20%5Cn%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%22%2C%22rule_rank_rules_pc_small_window%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20id%3A%20222124%5Cn%20%20%20priority%3A%200%5Cn%20%20%20tags%3A%20%5C%2222124%5C%22%5Cn%20%20%20%20enabled%3A%20false%5Cn%20%20%20%20type%3A%20WINDOW%5Cn%20%20%20%20window_rule%20%7B%5Cn%20%20%20type%3A%20SLIDE%20%5Cn%20%20%20size%3A%2012%20%5Cn%20%20%20max%3A%206%20%5Cn%20%20%20%7D%5Cn%20%20%20%7D%22%7D%2C%22small_sort%22%3A%7B%22enable_filter_zhanwai%22%3Atrue%2C%22filter_genre_plog%22%3Afalse%2C%22filter_genre_small%22%3Afalse%2C%22skip_small_app_version_filter%22%3Afalse%2C%22skip_small_genre_filter%22%3Afalse%7D%2C%22sort%22%3A%7B%22allowed_ticai%22%3A%5B%22forum_post%22%2C%22pgc_text%22%2C%22pgc_video%22%2C%22short_video%22%5D%2C%22enable_optimus_gen_pc_mv_card%22%3Atrue%2C%22enable_optimus_gen_pc_sv_card%22%3Atrue%2C%22enable_pc_skip_app_smallvideo_card%22%3Atrue%7D%2C%22ugc_sort%22%3A%7B%22expore_smallvideo%22%3Atrue%7D%2C%22video_channel%22%3A%7B%22use_feed%22%3A1%2C%22rank%22%3A5%7D%7D%2C%22env_flag%22%3A0%7D%2C%22localCityInfo%22%3A%7B%22name%22%3A%22%E8%A5%84%E9%98%B3%22%2C%22code%22%3A%22420600%22%2C%22channelId%22%3A3202181326%7D%2C%22voteLink%22%3A%5B%7B%22keyword%22%3A%22%E6%9C%AB%E4%B8%96%E9%87%8D%E7%94%9F%EF%BC%8C%E6%88%91%E6%8A%A2%E4%BA%86%E5%A5%B3%E4%B8%BB%E7%9A%84%E9%87%91%E6%89%8B%E6%8C%87%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7045105728742231079%22%7D%2C%7B%22keyword%22%3A%22%E4%BA%BA%E5%9C%A8%E6%B5%B7%E8%B4%BC%3A%E6%88%91%E6%88%90%E4%B8%BA%E4%BA%86%E6%B5%B7%E5%86%9B%E5%A5%B3%E7%8E%8B%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7070145477789879300%22%7D%2C%7B%22keyword%22%3A%22%E6%B2%A1%E7%9E%8E%E7%9C%BC%E4%B8%89%E5%B9%B4%EF%BC%8C%E4%BD%86%E6%88%91%E7%9A%84%E5%AD%A6%E7%94%9F%E4%B8%8D%E6%98%AF%E4%BA%BA%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7118385133568134175%22%7D%2C%7B%22keyword%22%3A%22%E7%9C%9F%E5%8D%83%E9%87%91%E4%BB%8E%E4%BF%AE%E7%9C%9F%E7%95%8C%E5%9B%9E%E6%9D%A5%E4%BA%86%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F6983183491827502094%22%7D%2C%7B%22keyword%22%3A%22%E5%BC%82%E4%B8%96%E7%9B%B8%E9%81%87%E5%B0%BD%E4%BA%AB%E7%A4%BE%E6%AD%BB%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F583844%22%7D%2C%7B%22keyword%22%3A%22python%20ols%E5%9B%9E%E5%BD%92%E5%88%86%E6%9E%90%E7%BB%93%E6%9E%9C%E6%80%8E%E4%B9%88%E7%9C%8B%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131680%22%7D%2C%7B%22keyword%22%3A%22%E7%A5%9E%E5%A5%87%E5%AE%9D%E8%B4%9D%E4%B9%8B%E5%85%A8%E8%83%BD%E6%8E%8C%E9%97%A8%E4%BA%BA%E8%87%B4%E5%85%89%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F738595%22%7D%2C%7B%22keyword%22%3A%22%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3java8%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131722%22%7D%2C%7B%22keyword%22%3A%22linux%20mysql%20%E6%97%A5%E5%BF%97%E6%B8%85%E7%90%86%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1182964%22%7D%2C%7B%22keyword%22%3A%22%E6%88%91%E5%9C%A8%E5%AE%9D%E5%8F%AF%E6%A2%A6%E4%B8%96%E7%95%8C%E6%88%90%E4%B8%BA%E7%AC%AC%E4%B8%80%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F188604%22%7D%5D%2C%22grSensitive%22%3Afalse%2C%22showResearch%22%3Afalse%2C%22blockVisibility%22%3A%7B%22hotBoard%22%3Atrue%2C%22hotVideo%22%3Atrue%2C%22relatedRecommend%22%3Atrue%7D%2C%22isGreyTheme%22%3Afalse%2C%22searchBot%22%3Anull%7D%7D
ls`;
})();
然后需要让脚本可执行:
chmodu+xhello-world-typescript.ts
运行脚本:
./hello-world-typescript.ts
可以看到下面的输出:
nbsp;ls
hello-world-typescript.ts
node_modules
package.json
package-lock.json
README.md
tsconfig.json
在 TypeScript 中用 zx 编写脚本与使用 JavaScript 相似,但需要对我们的代码进行一些额外的配置和包装。
构建项目启动工具
现在我们已经学会了用谷歌的 zx 编写 shell 脚本的基本知识,我们要用它来构建一个工具。这个工具将自动创建一个通常很耗时的过程:为一个新的 Node.js 项目的配置提供引导。
我们将创建一个交互式 shell 脚本,提示用户输入。它还将使用 zx 内置的 chalk 库,以不同的颜色高亮输出,并提供一个友好的用户体验。我们的 shell 脚本还将安装新项目所需的 npm 包,所以它已经准备好让我们立即开始开发。
准备开始
首先创建一个名为 bootstrap-tool.mjs 的新文件,并添加 shebang 行。我们还将从 zx 包中导入我们要使用的函数和模块,以及 Node.js 核心 path 模块:
#!/usr/bin/envnode
//bootstrap-tool.mjs
import{$,argv,cd,chalk,fs,question}from"zx";
importpathfrom"path";
与我们之前创建的脚本一样,我们要使我们的新脚本可执行:
chmodu+xbootstrap-tool.mjs
我们还将定义一个辅助函数,用红色文本输出一个错误信息,并以错误退出代码 1 退出 Node.js 进程:
functionexitWithError(errorMessage){
console.error(chalk.red(errorMessage));
process.exit(1);
}
当我们需要处理一个错误时,我们将通过我们的 shell 脚本在各个地方使用这个辅助函数。
检查依赖
我们要创建的工具需要使用三个不同程序来运行命令:git、node 和 npx。我们可以使用 which 库来帮助我们检查这些程序是否已经安装并可以使用。
首先,我们需要安装 which:
npminstall--save-devwhich
然后引入它:
importwhichfrom"which";
然后创建一个使用它的 checkRequiredProgramsExist 函数:
asyncfunctioncheckRequiredProgramsExist(programs){
try{
for(letprogramofprograms){
awaitwhich(program);
}
}catch(error){
exitWithError(`Error:Requiredcommand${error.message}`);
}
}
上面的函数接受一个程序名称的数组。它循环遍历数组,对每个程序调用 which 函数。如果 which 找到了程序的路径,它将返回该程序。否则,如果该程序找不到,它将抛出一个错误。如果有任何程序找不到,我们就调用 exitWithError 辅助函数来显示一个错误信息并停止运行脚本。
我们现在可以添加一个对 checkRequiredProgramsExist 的调用,以检查我们的工具所依赖的程序是否可用:
awaitcheckRequiredProgramsExist(["git","node","npx"]);
添加目标目录选项
由于我们正在构建的工具将帮助我们启动新的 Node.js 项目,因此我们希望在项目的目录中运行我们添加的任何命令。我们现在要给脚本添加一个 --directory 命令行参数。
zx 内置了 minimist 包,它能够解析传递给脚本的任何命令行参数。这些被解析的命令行参数被 zx 包作为 argv 提供:
让我们为名为 directory 的命令行参数添加一个检查:
lettargetDirectory=argv.directory;
if(!targetDirectory){
exitWithError("Error:Youmustspecifythe--directoryargument");
}
如果 directory 参数被传递给了我们的脚本,我们要检查它是否是已经存在的目录的路径。我们将使用 fs-extra 提供的 fs.pathExists 方法:
targetDirectory=path.resolve(targetDirectory);
if(!(awaitfs.pathExists(targetDirectory))){
exitWithError(`Error:Targetdirectory'${targetDirectory}'doesnotexist`);
}
如果目标路径存在,我们将使用 zx 提供的 cd 函数来切换当前的工作目录:
cd(targetDirectory);
如果我们现在在没有--directory 参数的情况下运行脚本,我们应该会收到一个错误:
nbsp;./bootstrap-tool.mjs
Error:Youmustspecifythe--directoryargument
检查全局 Git 设置
稍后,我们将在项目目录下初始化一个新的 Git 仓库,但首先我们要检查 Git 是否有它需要的配置。我们要确保提交会被 GitHub 等代码托管服务正确归类。
为了做到这一点,这里创建一个 getGlobalGitSettingValue 函数。它将运行 git config 命令来检索 Git 配置设置的值:
asyncfunctiongetGlobalGitSettingValue(settingName){
$.verbose=false;
letsettingValue="";
try{
settingValue=(
await
社区精选|如何使用 zx 编写 shell 脚本-*今条头日**
{"@context":"https://schema.org","@type":"NewsArticle","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.toutiao.com/article/7207743318715793920/"},"headline":"社区精选|如何使用 zx 编写 shell 脚本","description":"在这篇文章中,我们将学习谷歌的 zx 库提供了什么,以及我们如何使用它来用 Node.js 编写 shell 脚本。","image":[],"datePublished":"2023-03-08T01:00:05.000Z","dateModified":"2023-05-31T15:51:46.000Z","author":{"@type":"Person","name":"计算科学与信息化","url":"https://www.toutiao.com/c/user/token/MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH/"},"publisher":{"@type":"Organization","name":"*今条头日**","logo":{"@type":"ImageObject","url":"https://lf3-static.bytednsdoc.com/obj/eden-cn/uhbfnupkbps/216.png"}}}
!function(r,e,t,n,s,a,o,i,c,l,d,p,m,f){a="precollect",o="getAttribute",i="addEventListener",(l=function(e){(d=[].slice.call(arguments)).push(Date.now(),location.href),(e==a?l.p.a:l.q).push(d)}).q=[],l.p={a:[]},r[s]=l,(p=document.createElement("script")).src=t+"?bid=toutiao_web_pc&globalName="+s,p.crossOrigin=0
window.Slardar&&window.Slardar("init",{bid:"toutiao_web_pc",pid:"news_article_detail",release:"1.0.0.1822",env:"online",sample:{sample_rate:1},plugins:{ajax:{ignoreUrls:["mcs.snssdk.com","mcs.zijieapi.com","i.snssdk.com","verify.snssdk.com","vcs.snssdk.com","mon.zijieapi.com","mon.snssdk.com"]},pageview:{routeMode:"manual"},blankScreen:{rootSelector:"#root"}}})
!function(n,t){if(n.LogAnalyticsObject=t,!n[t]){function c(){c.q.push(arguments)}c.q=c.q||[],n[t]=c}n[t].l=+new Date}(window,"collectEvent")
window.collectEvent("usePlugin","autotrack"),window.collectEvent("usePlugin","stay"),window.collectEvent("init",{app_id:24,channel:"cn",autotrack:{custom:"tea",text:!0},enable_stay_duration:!0}),window.collectEvent("config",{evtParams:{url:window.location.href,screen_width:window.screen.width,screen_height:window.screen.height,screen_inner_width:window.innerWidth,screen_inner_height:window.innerHeight}})
window.byted_acrawler&&window.byted_acrawler.init({aid:24,dfp:!0})
window.TTGCaptcha&&window.TTGCaptcha.init({commonOptions:{aid:24,iid:"0",did:"0"}})
window.secsdk&&window.secsdk.csrf.setProtectedHost({"www.toutiao.com":{GET:[],POST:[/^\/api\/pc\/user\/fans_digg/,/^\/api\/pc\/user\/delete/,/^\/api\/pc\/user\/follow/,/^\/c\/ugc\/content\/repost/,/^\/group\/repin/,/^\/group\/unrepin/,/^\/api\/pc\/user\/stick/,/^\/api\/pc\/user\/unstick/,/^\/c\/user\/unfollow/,/^\/wenda\/v5\/interact\/followanswer/,/^\/wenda\/v5\/interact\/followquestion/,/^\/wenda\/v5\/interact\/digganswer/,/^\/wenda\/v5\/interact\/deleteanswer/,/^\/user_data\/batch_action/],PUT:[],PATCH:[],DELETE:[]}})
"undefined"!=typeof window&&"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("/sw.js").catch(function(e){window.Slardar&&window.Slardar("emit","counter",{name:"sw-register-error",value:1})})})
function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-QEHZPBE5HH")
%7B%22data%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%22%2C%22abstract%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22articleType%22%3A%22article%22%2C%22itemId%22%3A%227207743318715793920%22%2C%22groupId%22%3A%227207743318715793920%22%2C%22groupSource%22%3A2%2C%22isOriginal%22%3Afalse%2C%22banComment%22%3Afalse%2C%22publishTime%22%3A%222023-03-08%2009%3A00%22%2C%22source%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22tag%22%3A%22technique%22%2C%22mediaSite%22%3Anull%2C%22pathname%22%3A%22%2Farticle%2F7207743318715793920%2F%22%2C%22useCandle%22%3Afalse%2C%22isExclusive%22%3Afalse%2C%22favorite%22%3Afalse%2C%22relation%22%3A%7B%22isFollowing%22%3Afalse%2C%22isFollowed%22%3Afalse%7D%2C%22likeData%22%3A%7B%22userLikeStatus%22%3A0%2C%22count%22%3A1%7D%2C%22isSelf%22%3Afalse%2C%22content%22%3A%22%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%89%8D%E8%A8%80%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E6%9D%A5%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E5%BC%95%E5%AF%BC%E9%85%8D%E7%BD%AE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E7%BC%96%E5%86%99%20Shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E9%97%AE%E9%A2%98%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%94%B1%20Bash%20%E6%88%96%E8%80%85%20zsh%20%E6%89%A7%E8%A1%8C%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%98%AF%E8%87%AA%E5%8A%A8%E5%8C%96%E9%87%8D%E5%A4%8D%E4%BB%BB%E5%8A%A1%E7%9A%84%E5%A5%BD%E6%96%B9%E6%B3%95%E3%80%82Node.js%20%E4%BC%BC%E4%B9%8E%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E7%90%86%E6%83%B3%E9%80%89%E6%8B%A9%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E8%AE%B8%E5%A4%9A%E6%A0%B8%E5%BF%83%E6%A8%A1%E5%9D%97%EF%BC%8C%E5%B9%B6%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E5%AF%BC%E5%85%A5%E4%BB%BB%E4%BD%95%E6%88%91%E4%BB%AC%E9%80%89%E6%8B%A9%E7%9A%84%E5%BA%93%E3%80%82%E5%AE%83%E8%BF%98%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%AE%BF%E9%97%AE%20JavaScript%20%E6%8F%90%E4%BE%9B%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E5%92%8C%E5%86%85%E7%BD%AE%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E4%BD%A0%E5%B0%9D%E8%AF%95%E7%BC%96%E5%86%99%E8%BF%90%E8%A1%8C%E5%9C%A8%20Node.js%20%E4%B8%AD%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E4%BD%A0%E4%BC%9A%E5%8F%91%E7%8E%B0%E8%BF%99%E6%B2%A1%E6%9C%89%E4%BD%A0%E6%83%B3%E8%B1%A1%E4%B8%AD%E7%9A%84%E9%82%A3%E4%B9%88%E9%A1%BA%E5%88%A9%E3%80%82%E4%BD%A0%E9%9C%80%E8%A6%81%E4%B8%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%BC%96%E5%86%99%E7%89%B9%E6%AE%8A%E7%9A%84%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%EF%BC%8C%E6%B3%A8%E6%84%8F%E8%BD%AC%E4%B9%89%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%EF%BC%8C%E7%84%B6%E5%90%8E%E6%9C%80%E7%BB%88%E4%B8%8E%20stdout%EF%BC%88%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%89%E5%92%8C%20stderr%EF%BC%88%E6%A0%87%E5%87%86%E9%94%99%E8%AF%AF%EF%BC%89%E6%89%93%E4%BA%A4%E9%81%93%E3%80%82%E8%BF%99%E4%B8%8D%E6%98%AF%E7%89%B9%E5%88%AB%E7%9B%B4%E8%A7%82%EF%BC%8C%E8%80%8C%E4%B8%94%E4%BC%9A%E4%BD%BF%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E7%9B%B8%E5%BD%93%E7%AC%A8%E6%8B%99%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EBash%20shell%20%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E6%99%AE%E9%81%8D%E9%80%89%E6%8B%A9%E3%80%82%E4%B8%8D%E9%9C%80%E8%A6%81%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%E6%9D%A5%E5%A4%84%E7%90%86%E5%AD%90%E8%BF%9B%E7%A8%8B%EF%BC%8C%E8%80%8C%E4%B8%94%E5%AE%83%E6%9C%89%E5%86%85%E7%BD%AE%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E6%9D%A5%E5%A4%84%E7%90%86%20stdout%20%E5%92%8C%20stderr%E3%80%82%E4%BD%86%E6%98%AF%E7%94%A8%20Bash%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E4%B9%9F%E4%B8%8D%E6%98%AF%E9%82%A3%E4%B9%88%E5%AE%B9%E6%98%93%E3%80%82%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9B%B8%E5%BD%93%E6%B7%B7%E4%B9%B1%EF%BC%8C%E4%BD%BF%E5%BE%97%E5%AE%83%E5%AE%9E%E7%8E%B0%E9%80%BB%E8%BE%91%EF%BC%8C%E6%88%96%E8%80%85%E5%A4%84%E7%90%86%E8%AF%B8%E5%A6%82%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E7%9A%84%E4%BA%8B%E6%83%85%E9%9D%9E%E5%B8%B8%E5%9B%B0%E9%9A%BE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%9C%89%E5%8A%A9%E4%BA%8E%E8%AE%A9%E4%BD%BF%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E9%AB%98%E6%95%88%E5%92%8C%E8%88%92%E9%80%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BE%80%E4%B8%8B%E9%98%85%E8%AF%BB%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%E9%9C%80%E8%A6%81%E9%81%B5%E5%BE%AA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%90%86%E6%83%B3%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E4%BD%A0%E5%BA%94%E8%AF%A5%E7%86%9F%E6%82%89%20JavaScript%20%E5%92%8C%20Node.js%20%E7%9A%84%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E9%80%82%E5%BA%94%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20Node.js%20%26gt%3B%3D%20v14.13.1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cbr%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E4%BB%8E%20GitHub%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DysCUhsc%252BhqUmtqCo55t8jw%253D%253D.aWhjUaPje6eTlkcFFdhW%252FeIVYyAz5G%252FoPbGuXjsxlpcJphMKguwz3NoHWQ9o2vDb47Nfnm9kpIP6Ol5r6Euc8A%253D%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E8%8E%B7%E5%BE%97%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E8%BF%90%E4%BD%9C%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EGoogle%20%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%88%9B%E5%BB%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%A4%84%E7%90%86%E8%BF%99%E4%BA%9B%E8%BF%9B%E7%A8%8B%E7%9A%84%20stdout%20%E5%92%8C%20stderr%20%E7%9A%84%E5%87%BD%E6%95%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E7%9A%84%E4%B8%BB%E8%A6%81%E5%87%BD%E6%95%B0%E6%98%AF%24%E5%87%BD%E6%95%B0%E3%80%82%E4%B8%8B%E9%9D%A2%E6%98%AF%E5%AE%83%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AE%9E%E9%99%85%E4%BE%8B%E5%AD%90%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnawait%26nbsp%3B%24%60ls%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E6%89%A7%E8%A1%8C%E4%B8%8A%E8%BF%B0%E4%BB%A3%E7%A0%81%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnbootstrap-tool%5Cnhello-world%5Cnnode_modules%5Cnpackage.json%5CnREADME.md%5Cntypescript%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%E7%9A%84%20JavaScript%20%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9C%8B%E8%B5%B7%E6%9D%A5%E6%9C%89%E7%82%B9%E5%8F%A4%E6%80%AA%E3%80%82%E5%AE%83%E4%BD%BF%E7%94%A8%E4%BA%86%E4%B8%80%E7%A7%8D%E5%8F%AB%E5%81%9A%E5%B8%A6%E6%A0%87%E7%AD%BE%E7%9A%84%E6%A8%A1%E6%9D%BF%E5%AD%97%E7%AC%A6%E4%B8%B2%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DVUkodq5er%252Fynbhfl3MUQZA%253D%253D.%252Flx6oaDCVK4XuYyYLqvDi2QMWjCwW1jKBvNQgfaGG0AVwpl7I2CYD4sJYHuonDSA6jj1qSSypc0aGVO%252BYuBMUiibG6pBkVwusg%252Bai1hbMXetqlwMTWVUEAbtabMCbXIs%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E3%80%82%E5%AE%83%E5%9C%A8%E5%8A%9F%E8%83%BD%E4%B8%8A%E4%B8%8E%E7%BC%96%E5%86%99%20await%20%24(%26%2334%3Bls%26%2334%3B)%E7%9B%B8%E5%90%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%85%B6%E4%BB%96%E5%87%A0%E4%B8%AA%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%EF%BC%8C%E4%BD%BF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E6%9B%B4%E5%AE%B9%E6%98%93%E3%80%82%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ecd()%E3%80%82%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E6%9B%B4%E6%94%B9%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Equestion()%E3%80%82%E8%BF%99%E6%98%AF%20Node.js%20readline%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%8C%85%E8%A3%85%E5%99%A8%E3%80%82%E5%AE%83%E4%BD%BF%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E5%8F%98%E5%BE%97%E7%AE%80%E5%8D%95%E6%98%8E%E4%BA%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%99%A4%E4%BA%86%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%A4%96%EF%BC%8C%E5%AE%83%E8%BF%98%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E5%87%A0%E4%B8%AA%E6%B5%81%E8%A1%8C%E7%9A%84%E5%BA%93%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Echalk%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D%252FL15Y8OQNrp05Scx6N4iaQ%253D%253D.r8AZkfcE1Ye%252BlNUznFA9RNJMhfyM0lttTiD0TmqjJQwoi7zjQjs5YiLjI%252FWDEooY%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%99%E4%B8%AA%E5%BA%93%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E4%B8%BA%E8%84%9A%E6%9C%AC%E7%9A%84%E8%BE%93%E5%87%BA%E6%B7%BB%E5%8A%A0%E9%A2%9C%E8%89%B2%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Eminimist%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5tMQ5d6qJ4STEHZeuiN0MA%253D%253D.x9GPOpXVZp5TGKknZCkwA10QP%252Ftw%252BW7fwnpYGg%252BnlJPJLK3RboT3jqy5WuPLFwPZ%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E4%B8%AA%E8%A7%A3%E6%9E%90%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E7%9A%84%E5%BA%93%E3%80%82%E7%84%B6%E5%90%8E%E5%AE%83%E4%BB%AC%E5%9C%A8%20argv%20%E5%AF%B9%E8%B1%A1%E4%B8%8B%E8%A2%AB%E6%9A%B4%E9%9C%B2%E5%87%BA%E6%9D%A5%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efetch%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D71LC44tCu%252FZoLOY2B7MfuA%253D%253D.GO%252FMi37T0KTmj8UXau9xdFUBiIk1I%252F8M%252FHk2hZYrhRb%252Fd3Vl0bzlr05hanNxzuVb%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EFetch%20API%20%E7%9A%84%20Node.js%20%E5%AE%9E%E7%8E%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E8%BF%9B%E8%A1%8C%20HTTP%20%E8%AF%B7%E6%B1%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efs-extra%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DcPZzXniTRFJdbq87FdwLWw%253D%253D.IsmhSUEjIcZAqw8FDidbUnNhhIVPT1gsFSo%252BchiXCAs9AaxUVT%252FEgbIvswUDVmK2%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%B8%80%E4%B8%AA%E6%9A%B4%E9%9C%B2%20Node.js%20%E6%A0%B8%E5%BF%83%20fs%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%BA%93%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B9%E6%B3%95%EF%BC%8C%E4%BD%BF%E5%85%B6%E6%9B%B4%E5%AE%B9%E6%98%93%E4%B8%8E%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%80%E8%B5%B7%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9F%A5%E9%81%93%E4%BA%86%20zx%20%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E4%BB%80%E4%B9%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E7%94%A8%E5%AE%83%E5%88%9B%E5%BB%BA%E7%AC%AC%E4%B8%80%E4%B8%AA%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bzx-shell-scripts%5Cncd%26nbsp%3Bzx-shell-scripts%5Cnnpm%26nbsp%3Binit%26nbsp%3B--yes%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%AE%89%E8%A3%85%20zx%20%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bzx%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E7%9A%84%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E7%94%A8%20npm%20%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E8%AF%A5%E5%BA%93%E3%80%82%E9%80%9A%E8%BF%87%E5%B0%86%E5%85%B6%E5%AE%89%E8%A3%85%E4%B8%BA%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%A1%AE%E4%BF%9D%20zx%20%E6%80%BB%E6%98%AF%E8%A2%AB%E5%AE%89%E8%A3%85%EF%BC%8C%E5%B9%B6%E6%8E%A7%E5%88%B6%20shell%20%E8%84%9A%E6%9C%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E7%89%88%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A1%B6%E7%BA%A7%20await%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%20Node.js%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E9%A1%B6%E7%BA%A7%20await%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%20await%20%E4%BD%8D%E4%BA%8E%20async%20%E5%87%BD%E6%95%B0%E7%9A%84%E5%A4%96%E9%83%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%9C%A8%20ES%20%E6%A8%A1%E5%9D%97%E7%9A%84%E6%A8%A1%E5%BC%8F%E4%B8%8B%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%EF%BC%8C%E8%AF%A5%E6%A8%A1%E5%BC%8F%E6%94%AF%E6%8C%81%E9%A1%B6%E7%BA%A7%20await%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%20package.json%20%E4%B8%AD%E6%B7%BB%E5%8A%A0%20%26%2334%3Btype%26%2334%3B%3A%20%26%2334%3Bmodule%26%2334%3B%20%E6%80%8E%E4%B9%88%E6%80%8E%E4%B9%88%E6%9D%A5%E8%A1%A8%E6%98%8E%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%A8%A1%E5%9D%97%E9%83%BD%E6%98%AF%20ES%20%E6%A8%A1%E5%9D%97%E3%80%82%E6%88%96%E8%80%85%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%B0%86%E5%8D%95%E4%B8%AA%E8%84%9A%E6%9C%AC%E7%9A%84%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E8%AE%BE%E7%BD%AE%E4%B8%BA%20.mjs%20%E3%80%82%E5%9C%A8%E6%9C%AC%E6%96%87%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20.mjs%20%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E5%B9%B6%E6%8D%95%E8%8E%B7%E8%BE%93%E5%87%BA%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B0%86%E5%85%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world.mjs%20%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%AE%83%E5%91%8A%E8%AF%89%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%88OS%EF%BC%89%E7%9A%84%E5%86%85%E6%A0%B8%E8%A6%81%E7%94%A8%20node%20%E7%A8%8B%E5%BA%8F%E8%BF%90%E8%A1%8C%E8%AF%A5%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%BA%9B%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%BD%BF%E7%94%A8%20zx%20%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8B%E9%9D%A2%E7%9A%84%E4%BB%A3%E7%A0%81%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%20ls%20%E7%A8%8B%E5%BA%8F%E3%80%82ls%20%E7%A8%8B%E5%BA%8F%E5%B0%86%E5%88%97%E5%87%BA%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%88%E8%84%9A%E6%9C%AC%E6%89%80%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%EF%BC%89%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BB%8E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BF%9B%E7%A8%8B%E4%B8%AD%E6%8D%95%E8%8E%B7%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B0%86%E5%85%B6%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E7%84%B6%E5%90%8E%E6%89%93%E5%8D%B0%E5%88%B0%E7%BB%88%E7%AB%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cnconsole.log(output)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E6%8A%8A%2Fusr%2Fbin%2Fenv%20zx%20%E6%94%BE%E5%9C%A8%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E7%9A%84%20shebang%20%E8%A1%8C%E4%B8%AD%EF%BC%8C%E4%BD%86%E6%88%91%E4%BB%AC%E7%94%A8%2Fusr%2Fbin%2Fenv%20node%20%E4%BB%A3%E6%9B%BF%E3%80%82%E8%BF%99%E6%98%AF%E5%9B%A0%E4%B8%BA%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%20zx%EF%BC%8C%E5%B9%B6%E4%BD%9C%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E6%98%8E%E7%A1%AE%E5%9C%B0%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E6%83%B3%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%E3%80%82%E8%BF%99%E6%9C%89%E5%8A%A9%E4%BA%8E%E6%98%8E%E7%A1%AE%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E4%BE%9D%E8%B5%96%E6%9D%A5%E8%87%AA%E5%93%AA%E9%87%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%20chmod%20%E6%9D%A5%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E5%A6%82%E4%B8%8B%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%88ls%EF%BC%89%E8%A2%AB%E5%8C%85%E5%90%AB%E5%9C%A8%E8%BE%93%E5%87%BA%E4%B8%AD%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%E6%98%BE%E7%A4%BA%E4%B8%A4%E6%AC%A1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BE%93%E5%87%BA%E7%9A%84%E6%9C%AB%E5%B0%BE%E5%A4%9A%E4%BA%86%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E9%BB%98%E8%AE%A4%E4%BB%A5%20verbose%20%E6%A8%A1%E5%BC%8F%E8%BF%90%E8%A1%8C%E3%80%82%E5%AE%83%E5%B0%86%E8%BE%93%E5%87%BA%E4%BD%A0%E4%BC%A0%E9%80%92%E7%BB%99%24%E5%87%BD%E6%95%B0%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%90%8C%E6%97%B6%E4%B9%9F%E8%BE%93%E5%87%BA%E8%AF%A5%E5%91%BD%E4%BB%A4%E7%9A%84%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%E8%BF%90%E8%A1%8C%20ls%20%E5%91%BD%E4%BB%A4%E5%89%8D%E5%8A%A0%E5%85%A5%E4%BB%A5%E4%B8%8B%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E6%9D%A5%E6%94%B9%E5%8F%98%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A4%A7%E5%A4%9A%E6%95%B0%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%A6%82%20ls%EF%BC%8C%E4%BC%9A%E5%9C%A8%E5%85%B6%E8%BE%93%E5%87%BA%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E5%AD%97%E7%AC%A6%EF%BC%8C%E4%BB%A5%E4%BD%BF%E8%BE%93%E5%87%BA%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E6%9B%B4%E6%98%93%E8%AF%BB%E3%80%82%E8%BF%99%E5%AF%B9%E5%8F%AF%E8%AF%BB%E6%80%A7%E6%9C%89%E5%A5%BD%E5%A4%84%EF%BC%8C%E4%BD%86%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E8%A6%81%E5%B0%86%E8%BE%93%E5%87%BA%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E6%9C%89%E8%BF%99%E4%B8%AA%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B0%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%20JavaScript%20String%23trim()%E5%87%BD%E6%95%B0%E6%8A%8A%E5%AE%83%E5%8E%BB%E6%8E%89%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E-%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cn%2B%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout.trim()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%86%8D%E6%AC%A1%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E7%BB%93%E6%9E%9C%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%A5%BD%E5%BE%88%E5%A4%9A%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ehello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%BC%95%E5%85%A5%20TypeScript%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E6%83%B3%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%BC%96%E5%86%99%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%BE%AE%E5%B0%8F%E7%9A%84%E5%8C%BA%E5%88%AB%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%8A%A0%E4%BB%A5%E8%AF%B4%E6%98%8E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9ATypeScript%20%E7%BC%96%E8%AF%91%E5%99%A8%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E5%AE%83%E5%A6%82%E4%BD%95%E7%BC%96%E8%AF%91%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%E8%80%83%E8%99%91%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E4%B8%8B%E9%9D%A2%E7%9A%84%20TypeScript%20%E9%85%8D%E7%BD%AE%E5%92%8C%E4%BB%A3%E7%A0%81%E6%98%AF%E4%B8%BA%E4%BA%86%E5%9C%A8%E5%A4%A7%E5%A4%9A%E6%95%B0%20TypeScript%20%E7%89%88%E6%9C%AC%E4%B8%8B%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E5%AE%89%E8%A3%85%E9%9C%80%E8%A6%81%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E7%9A%84%E4%BE%9D%E8%B5%96%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Btypescript%26nbsp%3Bts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ets-node%20%E5%8C%85%E6%8F%90%E4%BE%9B%E4%BA%86%E4%B8%80%E4%B8%AA%20TypeScript%20%E6%89%A7%E8%A1%8C%E5%BC%95%E6%93%8E%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E8%83%BD%E5%A4%9F%E8%BD%AC%E8%AF%91%E5%92%8C%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%9C%80%E8%A6%81%E5%88%9B%E5%BB%BA%20tsconfig.json%20%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E4%B8%8B%E9%9D%A2%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%7B%5Cn%26%2334%3BcompilerOptions%26%2334%3B%3A%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Btarget%26%2334%3B%3A%26nbsp%3B%26%2334%3Bes2017%26%2334%3B%2C%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Bmodule%26%2334%3B%3A%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5Cn%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E6%96%B0%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B9%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world-typescript.ts%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E6%B7%BB%E5%8A%A0%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%91%8A%E8%AF%89%20OS%20%E5%86%85%E6%A0%B8%E4%BD%BF%E7%94%A8%20ts-node%20%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B.%2Fnode_modules%2F.bin%2Fts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E4%B8%AD%E4%BD%BF%E7%94%A8%20await%20%E5%85%B3%E9%94%AE%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E6%8A%8A%E5%AE%83%E5%8C%85%E8%A3%85%E5%9C%A8%E4%B8%80%E4%B8%AA%E7%AB%8B%E5%8D%B3%E8%B0%83%E7%94%A8%E5%87%BD%E6%95%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%EF%BC%88IIFE%EF%BC%89%E4%B8%AD%EF%BC%8C%E6%AD%A3%E5%A6%82%20zx%20%E6%96%87%E6%A1%A3%E6%89%80%E5%BB%BA%E8%AE%AE%E7%9A%84%E9%82%A3%E6%A0%B7%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world-typescript.ts%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnvoid%26nbsp%3B(async%26nbsp%3Bfunction%26nbsp%3B()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60ls%60%3B%5Cn%7D)()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E9%9C%80%E8%A6%81%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E4%B8%8B%E9%9D%A2%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world-typescript.ts%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cntsconfig.json%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%E8%84%9A%E6%9C%AC%E4%B8%8E%E4%BD%BF%E7%94%A8%20JavaScript%20%E7%9B%B8%E4%BC%BC%EF%BC%8C%E4%BD%86%E9%9C%80%E8%A6%81%E5%AF%B9%E6%88%91%E4%BB%AC%E7%9A%84%E4%BB%A3%E7%A0%81%E8%BF%9B%E8%A1%8C%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E9%85%8D%E7%BD%AE%E5%92%8C%E5%8C%85%E8%A3%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%9E%84%E5%BB%BA%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E7%94%A8%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AF%86%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E7%94%A8%E5%AE%83%E6%9D%A5%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B7%A5%E5%85%B7%E3%80%82%E8%BF%99%E4%B8%AA%E5%B7%A5%E5%85%B7%E5%B0%86%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E9%80%9A%E5%B8%B8%E5%BE%88%E8%80%97%E6%97%B6%E7%9A%84%E8%BF%87%E7%A8%8B%EF%BC%9A%E4%B8%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E7%9A%84%E9%85%8D%E7%BD%AE%E6%8F%90%E4%BE%9B%E5%BC%95%E5%AF%BC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BA%A4%E4%BA%92%E5%BC%8F%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E3%80%82%E5%AE%83%E8%BF%98%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E5%86%85%E7%BD%AE%E7%9A%84%20chalk%20%E5%BA%93%EF%BC%8C%E4%BB%A5%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A2%9C%E8%89%B2%E9%AB%98%E4%BA%AE%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B9%B6%E6%8F%90%E4%BE%9B%E4%B8%80%E4%B8%AA%E5%8F%8B%E5%A5%BD%E7%9A%84%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C%E3%80%82%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E8%BF%98%E5%B0%86%E5%AE%89%E8%A3%85%E6%96%B0%E9%A1%B9%E7%9B%AE%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%EF%BC%8C%E6%89%80%E4%BB%A5%E5%AE%83%E5%B7%B2%E7%BB%8F%E5%87%86%E5%A4%87%E5%A5%BD%E8%AE%A9%E6%88%91%E4%BB%AC%E7%AB%8B%E5%8D%B3%E5%BC%80%E5%A7%8B%E5%BC%80%E5%8F%91%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%87%86%E5%A4%87%E5%BC%80%E5%A7%8B%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%90%8D%E4%B8%BA%20bootstrap-tool.mjs%20%E7%9A%84%E6%96%B0%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B9%B6%E6%B7%BB%E5%8A%A0%20shebang%20%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E6%A8%A1%E5%9D%97%EF%BC%8C%E4%BB%A5%E5%8F%8A%20Node.js%20%E6%A0%B8%E5%BF%83%20path%20%E6%A8%A1%E5%9D%97%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%2F%2F%26nbsp%3Bbootstrap-tool.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%2C%26nbsp%3Bargv%2C%26nbsp%3Bcd%2C%26nbsp%3Bchalk%2C%26nbsp%3Bfs%2C%26nbsp%3Bquestion%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnimport%26nbsp%3Bpath%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bpath%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8E%E6%88%91%E4%BB%AC%E4%B9%8B%E5%89%8D%E5%88%9B%E5%BB%BA%E7%9A%84%E8%84%9A%E6%9C%AC%E4%B8%80%E6%A0%B7%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bbootstrap-tool.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E7%94%A8%E7%BA%A2%E8%89%B2%E6%96%87%E6%9C%AC%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%EF%BC%8C%E5%B9%B6%E4%BB%A5%E9%94%99%E8%AF%AF%E9%80%80%E5%87%BA%E4%BB%A3%E7%A0%81%201%20%E9%80%80%E5%87%BA%20Node.js%20%E8%BF%9B%E7%A8%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Efunction%26nbsp%3BexitWithError(errorMessage)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconsole.error(chalk.red(errorMessage))%3B%5Cn%26nbsp%3B%26nbsp%3Bprocess.exit(1)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BD%93%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%A4%84%E7%90%86%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E9%80%9A%E8%BF%87%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%9C%A8%E5%90%84%E4%B8%AA%E5%9C%B0%E6%96%B9%E4%BD%BF%E7%94%A8%E8%BF%99%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%E4%B8%89%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%9Agit%E3%80%81node%20%E5%92%8C%20npx%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20which%20%E5%BA%93%E6%9D%A5%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E6%A3%80%E6%9F%A5%E8%BF%99%E4%BA%9B%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%E5%B9%B6%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20which%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bwhich%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%BC%95%E5%85%A5%E5%AE%83%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3Bwhich%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bwhich%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BD%BF%E7%94%A8%E5%AE%83%E7%9A%84%20checkRequiredProgramsExist%20%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckRequiredProgramsExist(programs)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3Bprogram%26nbsp%3Bof%26nbsp%3Bprograms)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bwhich(program)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BRequired%26nbsp%3Bcommand%26nbsp%3B%24%7Berror.message%7D%60)%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%90%8D%E7%A7%B0%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%95%B0%E7%BB%84%EF%BC%8C%E5%AF%B9%E6%AF%8F%E4%B8%AA%E7%A8%8B%E5%BA%8F%E8%B0%83%E7%94%A8%20which%20%E5%87%BD%E6%95%B0%E3%80%82%E5%A6%82%E6%9E%9C%20which%20%E6%89%BE%E5%88%B0%E4%BA%86%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%B7%AF%E5%BE%84%EF%BC%8C%E5%AE%83%E5%B0%86%E8%BF%94%E5%9B%9E%E8%AF%A5%E7%A8%8B%E5%BA%8F%E3%80%82%E5%90%A6%E5%88%99%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%AF%A5%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E6%8A%9B%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E3%80%82%E5%A6%82%E6%9E%9C%E6%9C%89%E4%BB%BB%E4%BD%95%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E8%B0%83%E7%94%A8%20exitWithError%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%E5%B9%B6%E5%81%9C%E6%AD%A2%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%8F%AF%E4%BB%A5%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%AF%B9%20checkRequiredProgramsExist%20%E7%9A%84%E8%B0%83%E7%94%A8%EF%BC%8C%E4%BB%A5%E6%A3%80%E6%9F%A5%E6%88%91%E4%BB%AC%E7%9A%84%E5%B7%A5%E5%85%B7%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%8F%AF%E7%94%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckRequiredProgramsExist(%5B%26%2334%3Bgit%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnode%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnpx%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%B7%BB%E5%8A%A0%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E9%80%89%E9%A1%B9%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%B0%86%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E5%90%AF%E5%8A%A8%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%88%91%E4%BB%AC%E5%B8%8C%E6%9C%9B%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9A%84%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E3%80%82%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E8%A6%81%E7%BB%99%E8%84%9A%E6%9C%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20--directory%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E5%86%85%E7%BD%AE%E4%BA%86%20minimist%20%E5%8C%85%EF%BC%8C%E5%AE%83%E8%83%BD%E5%A4%9F%E8%A7%A3%E6%9E%90%E4%BC%A0%E9%80%92%E7%BB%99%E8%84%9A%E6%9C%AC%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%E8%BF%99%E4%BA%9B%E8%A2%AB%E8%A7%A3%E6%9E%90%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E8%A2%AB%20zx%20%E5%8C%85%E4%BD%9C%E4%B8%BA%20argv%20%E6%8F%90%E4%BE%9B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E5%90%8D%E4%B8%BA%20directory%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E6%A3%80%E6%9F%A5%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Elet%26nbsp%3BtargetDirectory%26nbsp%3B%3D%26nbsp%3Bargv.directory%3B%5Cnif%26nbsp%3B(!targetDirectory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%26%2334%3BError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%26%2334%3B)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%20directory%20%E5%8F%82%E6%95%B0%E8%A2%AB%E4%BC%A0%E9%80%92%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%E5%AE%83%E6%98%AF%E5%90%A6%E6%98%AF%E5%B7%B2%E7%BB%8F%E5%AD%98%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%E7%9A%84%E8%B7%AF%E5%BE%84%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%8F%90%E4%BE%9B%E7%9A%84%20fs.pathExists%20%E6%96%B9%E6%B3%95%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3EtargetDirectory%26nbsp%3B%3D%26nbsp%3Bpath.resolve(targetDirectory)%3B%5Cnif%26nbsp%3B(!(await%26nbsp%3Bfs.pathExists(targetDirectory)))%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BTarget%26nbsp%3Bdirectory%26nbsp%3B%26%2339%3B%24%7BtargetDirectory%7D%26%2339%3B%26nbsp%3Bdoes%26nbsp%3Bnot%26nbsp%3Bexist%60)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E8%B7%AF%E5%BE%84%E5%AD%98%E5%9C%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%20cd%20%E5%87%BD%E6%95%B0%E6%9D%A5%E5%88%87%E6%8D%A2%E5%BD%93%E5%89%8D%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%9A%E2%80%8D%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ecd(targetDirectory)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%9C%A8%E6%B2%A1%E6%9C%89--directory%20%E5%8F%82%E6%95%B0%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E5%BA%94%E8%AF%A5%E4%BC%9A%E6%94%B6%E5%88%B0%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3B.%2Fbootstrap-tool.mjs%5CnError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E5%85%A8%E5%B1%80%20Git%20%E8%AE%BE%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%A8%8D%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%8C%E4%BD%86%E9%A6%96%E5%85%88%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%20Git%20%E6%98%AF%E5%90%A6%E6%9C%89%E5%AE%83%E9%9C%80%E8%A6%81%E7%9A%84%E9%85%8D%E7%BD%AE%E3%80%82%E6%88%91%E4%BB%AC%E8%A6%81%E7%A1%AE%E4%BF%9D%E6%8F%90%E4%BA%A4%E4%BC%9A%E8%A2%AB%20GitHub%20%E7%AD%89%E4%BB%A3%E7%A0%81%E6%89%98%E7%AE%A1%E6%9C%8D%E5%8A%A1%E6%AD%A3%E7%A1%AE%E5%BD%92%E7%B1%BB%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%81%9A%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E8%BF%99%E9%87%8C%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E7%B4%A2%20Git%20%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%E7%9A%84%E5%80%BC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetGlobalGitSettingValue(settingName)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B%26%2334%3B%26%2334%3B%3B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60git%26nbsp%3Bconfig%26nbsp%3B--global%26nbsp%3B--get%26nbsp%3B%24%7BsettingName%7D%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B).stdout.trim()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%2F%2F%26nbsp%3BIgnore%26nbsp%3Bprocess%26nbsp%3Boutput%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BsettingValue%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E5%85%B3%E9%97%AD%20zx%20%E9%BB%98%E8%AE%A4%E8%AE%BE%E7%BD%AE%E7%9A%84%20verbose%20%E6%A8%A1%E5%BC%8F%E3%80%82%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%EF%BC%8C%E5%BD%93%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%97%B6%EF%BC%8C%E8%AF%A5%E5%91%BD%E4%BB%A4%E5%92%8C%E5%AE%83%E5%8F%91%E9%80%81%E5%88%B0%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E7%9A%84%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9%E9%83%BD%E4%B8%8D%E4%BC%9A%E8%A2%AB%E6%98%BE%E7%A4%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%9C%A8%E5%87%BD%E6%95%B0%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E5%B0%86%20verbose%20%E6%A8%A1%E5%BC%8F%E9%87%8D%E6%96%B0%E6%89%93%E5%BC%80%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E5%BD%B1%E5%93%8D%E5%88%B0%E6%88%91%E4%BB%AC%E7%A8%8D%E5%90%8E%E5%9C%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%85%B6%E4%BB%96%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%20checkGlobalGitSettings%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A5%E5%87%BD%E6%95%B0%E6%8E%A5%E6%94%B6%20Git%20%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%E7%BB%84%E6%88%90%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%B0%86%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%AF%8F%E4%B8%AA%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E4%BC%A0%E9%80%92%E7%BB%99%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E4%BB%A5%E6%A3%80%E7%B4%A2%E5%85%B6%E5%80%BC%E3%80%82%E5%A6%82%E6%9E%9C%E8%AE%BE%E7%BD%AE%E6%B2%A1%E6%9C%89%E5%80%BC%EF%BC%8C%E5%B0%86%E6%98%BE%E7%A4%BA%E8%AD%A6%E5%91%8A%E4%BF%A1%E6%81%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckGlobalGitSettings(settingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3BsettingName%26nbsp%3Bof%26nbsp%3BsettingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetGlobalGitSettingValue(settingName)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!settingValue)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.warn(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.yellow(%60Warning%3A%26nbsp%3BGlobal%26nbsp%3Bgit%26nbsp%3Bsetting%26nbsp%3B%26%2339%3B%24%7BsettingName%7D%26%2339%3B%26nbsp%3Bis%26nbsp%3Bnot%26nbsp%3Bset.%60)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E7%BB%99%20checkGlobalGitSettings%20%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E8%B0%83%E7%94%A8%EF%BC%8C%E6%A3%80%E6%9F%A5%20user.name%20%E5%92%8C%20user.email%20%E7%9A%84%20Git%20%E8%AE%BE%E7%BD%AE%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E8%A2%AB%E8%AE%BE%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckGlobalGitSettings(%5B%26%2334%3Buser.name%26%2334%3B%2C%26nbsp%3B%26%2334%3Buser.email%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%88%9D%E5%A7%8B%E5%8C%96%20Git%20%E4%BB%93%E5%BA%93%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E6%B7%BB%E5%8A%A0%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Binit%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20package.json%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%AF%8F%E4%B8%AA%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%83%BD%E9%9C%80%E8%A6%81%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E8%BF%99%E6%98%AF%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E5%AE%9A%E4%B9%89%E5%85%83%E6%95%B0%E6%8D%AE%E7%9A%84%E5%9C%B0%E6%96%B9%EF%BC%8C%E6%8C%87%E5%AE%9A%E9%A1%B9%E7%9B%AE%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E5%8C%85%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%B7%BB%E5%8A%A0%E5%AE%9E%E7%94%A8%E7%9A%84%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%94%9F%E6%88%90%20package.json%20%E6%96%87%E4%BB%B6%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E5%87%A0%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%98%AF%20readPackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%AF%BB%E5%8F%96%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BreadPackageJson(directory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3Bfs.readJSON(packageJsonFilepath)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20writePackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E5%90%91%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E5%86%99%E5%85%A5%E6%9B%B4%E6%94%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BwritePackageJson(directory%2C%26nbsp%3Bcontents)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bfs.writeJSON(packageJsonFilepath%2C%26nbsp%3Bcontents%2C%26nbsp%3B%7B%26nbsp%3Bspaces%3A%26nbsp%3B2%26nbsp%3B%7D)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%20fs.readJSON%20%E5%92%8C%20fs.writeJSON%20%E6%96%B9%E6%B3%95%E6%98%AF%E7%94%B1%20fs-extra%20%E5%BA%93%E6%8F%90%E4%BE%9B%E7%9A%84%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E5%AE%9A%E4%B9%89%E4%BA%86%20package.json%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%BC%80%E5%A7%8B%E8%80%83%E8%99%91%20package.json%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E6%94%AF%E6%8C%81%E4%B8%A4%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ECommonJS%20Modules%20(CJS)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DKTweLvts6a1zOlUbn0cnCA%253D%253D.WRSoJ3t37Y2GYjanjStt81N%252BkCOGoR11gK8pv6Fck09uaKTSXHq5mvMcWutIRxYU%3C%2Fspan%3E%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%BF%E7%94%A8%20module.exports%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20require()%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EECMAScript%20Modules%20(ESM)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DOUbF%252BkjeOpAlt3Fo9PFGFw%253D%253D.Ex%252BQVnop7rVNKtYxrnp%252Fhcm08eFRE7K2XLUBlFFQ7D4%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%BD%BF%E7%94%A8%20export%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20import%20%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E7%94%9F%E6%80%81%E7%B3%BB%E7%BB%9F%E6%AD%A3%E5%9C%A8%E9%80%90%E6%AD%A5%E9%87%87%E7%94%A8%20ES%20%E6%A8%A1%E5%9D%97%EF%BC%8C%E8%BF%99%E5%9C%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%20JavaScript%20%E4%B8%AD%E6%98%AF%E5%BE%88%E5%B8%B8%E8%A7%81%E7%9A%84%E3%80%82%E5%BD%93%E4%BA%8B%E6%83%85%E5%A4%84%E4%BA%8E%E8%BF%87%E6%B8%A1%E9%98%B6%E6%AE%B5%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%86%B3%E5%AE%9A%E6%88%91%E4%BB%AC%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%BB%98%E8%AE%A4%E4%BD%BF%E7%94%A8%20CJS%20%E6%A8%A1%E5%9D%97%E8%BF%98%E6%98%AF%20ESM%20%E6%A8%A1%E5%9D%97%E3%80%82%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%BF%99%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForModuleSystem(moduleSystems)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Which%26nbsp%3BNode.js%26nbsp%3Bmodule%26nbsp%3Bsystem%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Buse%3F%26nbsp%3B(%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26nbsp%3Bor%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D)%26nbsp%3B%60%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchoices%3A%26nbsp%3BmoduleSystems%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BmoduleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E5%87%BD%E6%95%B0%E4%BD%BF%E7%94%A8%E7%9A%84%20question%20%E5%87%BD%E6%95%B0%E7%94%B1%20zx%20%E6%8F%90%E4%BE%9B%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getNodeModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E8%B0%83%E7%94%A8%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E6%A3%80%E6%9F%A5%E6%89%80%E8%BE%93%E5%85%A5%E7%9A%84%E5%80%BC%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%8D%E6%98%AF%EF%BC%8C%E5%AE%83%E5%B0%86%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetNodeModuleSystem()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystems%26nbsp%3B%3D%26nbsp%3B%5B%26%2334%3Bmodule%26%2334%3B%2C%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForModuleSystem(moduleSystems)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BisValidModuleSystem%26nbsp%3B%3D%26nbsp%3BmoduleSystems.includes(selectedModuleSystem)%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!isValidModuleSystem)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BModule%26nbsp%3Bsystem%26nbsp%3Bmust%26nbsp%3Bbe%26nbsp%3Beither%26nbsp%3B%26%2339%3B%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26%2339%3B%26nbsp%3Bor%26nbsp%3B%26%2339%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%26%2339%3B%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BselectedModuleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E8%BF%90%E8%A1%8C%20npm%20init%20%E5%91%BD%E4%BB%A4%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npm%26nbsp%3Binit%26nbsp%3B--yes%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E8%AF%BB%E5%8F%96%E6%96%B0%E5%88%9B%E5%BB%BA%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E8%AF%A2%E9%97%AE%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%B3%BB%E7%BB%9F%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA%20packageJson%20%E5%AF%B9%E8%B1%A1%E4%B8%AD%E7%9A%84%20type%20%E5%B1%9E%E6%80%A7%E5%80%BC%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%E5%85%B6%E5%86%99%E5%9B%9E%E5%88%B0%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackageJson%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5CnpackageJson.type%26nbsp%3B%3D%26nbsp%3BselectedModuleSystem%3B%5Cnawait%26nbsp%3BwritePackageJson(targetDirectory%2C%26nbsp%3BpackageJson)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%8F%90%E7%A4%BA%EF%BC%9A%E5%BD%93%E4%BD%A0%E7%94%A8--yes%20%E6%A0%87%E5%BF%97%E8%BF%90%E8%A1%8C%20npm%20init%20%E6%97%B6%EF%BC%8C%E8%A6%81%E6%83%B3%E5%9C%A8%20package.json%20%E4%B8%AD%E8%8E%B7%E5%BE%97%E5%90%88%E7%90%86%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%EF%BC%8C%E8%AF%B7%E7%A1%AE%E4%BF%9D%E4%BD%A0%E8%AE%BE%E7%BD%AE%E4%BA%86%20npminit-*%E7%9A%84%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DX0aVKO8sVtj0bgZhFmgjVw%253D%253D.hxYbJxX5X2odlcPpk5MdIVLkT7ESAsFMhFnFSRBftI2c2BjNTUCtV1gwdXnpxWGI%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E9%A1%B9%E7%9B%AE%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E4%BD%BF%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E5%90%8E%E8%83%BD%E5%A4%9F%E8%BD%BB%E6%9D%BE%E5%9C%B0%E5%BC%80%E5%A7%8B%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForPackages%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E5%93%AA%E4%BA%9B%20npm%20%E5%8C%85%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForPackages()%26nbsp%3B%7B%5Cnlet%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3BWhich%26nbsp%3Bnpm%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Binstall%26nbsp%3Bfor%26nbsp%3Bthis%26nbsp%3Bproject%3F%26nbsp%3B%26%2334%3B%5Cn)%3B%5CnpackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall%5Cn%26nbsp%3B%26nbsp%3B.trim()%5Cn%26nbsp%3B%26nbsp%3B.split(%26%2334%3B%26nbsp%3B%26%2334%3B)%5Cn%26nbsp%3B%26nbsp%3B.filter((pkg)%26nbsp%3B%3D%26gt%3B%26nbsp%3Bpkg)%3B%5Cnreturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E9%98%B2%E6%AD%A2%E6%88%91%E4%BB%AC%E5%9C%A8%E8%BE%93%E5%85%A5%E5%8C%85%E5%90%8D%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E5%88%AB%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20identifyInvalidNpmPackages%20%E5%87%BD%E6%95%B0%E3%80%82%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E5%B0%86%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%20npm%20%E5%8C%85%E5%90%8D%E6%95%B0%E7%BB%84%EF%BC%8C%E7%84%B6%E5%90%8E%E8%BF%90%E8%A1%8C%20npm%20view%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E6%9F%A5%E5%AE%83%E4%BB%AC%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BidentifyInvalidNpmPackages(packages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3B%5B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(const%26nbsp%3Bpkg%26nbsp%3Bof%26nbsp%3Bpackages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Bview%26nbsp%3B%24%7Bpkg%7D%60%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BinvalidPackages.push(pkg)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BinvalidPackages%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getPackagesToInstall%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E5%88%9A%E5%88%9A%E5%88%9B%E5%BB%BA%E7%9A%84%E4%B8%A4%E4%B8%AA%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetPackagesToInstall()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForPackages()%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BidentifyInvalidNpmPackages(packagesToInstall)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BallPackagesExist%26nbsp%3B%3D%26nbsp%3BinvalidPackages.length%26nbsp%3B%3D%3D%3D%26nbsp%3B0%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!allPackagesExist)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BThe%26nbsp%3Bfollowing%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Bnot%26nbsp%3Bexist%26nbsp%3Bon%26nbsp%3Bnpm%3A%26nbsp%3B%24%7BinvalidPackages.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%2C%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%9C%89%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%90%8D%E7%A7%B0%E4%B8%8D%E6%AD%A3%E7%A1%AE%EF%BC%8C%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E6%97%A6%E6%88%91%E4%BB%AC%E5%BE%97%E5%88%B0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E6%9C%89%E6%95%88%E5%8C%85%E5%88%97%E8%A1%A8%EF%BC%8C%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20npm%20install%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E5%AE%89%E8%A3%85%E5%AE%83%E4%BB%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cnconst%26nbsp%3BhavePackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall.length%26nbsp%3B%26gt%3B%26nbsp%3B0%3B%5Cnif%26nbsp%3B(havePackagesToInstall)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Binstall%26nbsp%3B%24%7BpackagesToInstall%7D%60%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E4%B8%BA%E5%B7%A5%E5%85%B7%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE%E6%98%AF%E6%88%91%E4%BB%AC%E7%94%A8%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E7%9A%84%E6%9C%80%E4%BD%B3%E4%BA%8B%E9%A1%B9%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA.gitignore%20%E6%96%87%E4%BB%B6%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E6%84%8F%E5%A4%96%E5%9C%B0%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E5%9C%A8%20Git%20%E4%BB%93%E5%BA%93%E4%B8%AD%E5%87%BA%E7%8E%B0%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bgitignore%26nbsp%3Bnode%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8%20gitignore%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DV%252FIoxipE2WxmNECDRNKMqg%253D%253D.7Y4d34n%252BoUVlJkYEiJt3NLa9RHn2pYtKq%252BHpO67HIQjfjKAHIxcMynZzTudktHaV%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E5%8C%85%EF%BC%8C%E4%BB%8E%20GitHub%20%E7%9A%84%20gitignore%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3E%20https%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DSzh56TKqT6gYmrJidM7ZXg%253D%253D.BK7Vf5F73GaplJKeN48OsobM6U4EPriatZOr3dBhsSVZIuIUiktyqfS1jhLLtQ7o%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E6%A8%A1%E6%9D%BF%E4%B8%AD%E6%8B%89%E5%8F%96%20Node.js%20%E7%9A%84.gitignore%20%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E7%9A%84%20EditorConfig%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DdGD5%252BEyCTqLfqDSif7%252FHgQ%253D%253D.xgNWBjR6m%252FIUFlG1UmM3CYX2R%252BLXFN531lZhlvCRRWs%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%81Prettier%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3Dn7clHFqLMZZala0zu1JjdQ%253D%253D.jivAg4cL8HkSAhuurMUHrlfhGGILOpveTQR0rjCRXyg%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%92%8C%20ESLint%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DJ4jXEAmmBQ83%252FWSrOtTsAQ%253D%253D.b%252FKC0kT%252FZWZQ9KBItXDMQHWJBzc5aW9hUZsxWHBsMY4%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E4%B8%80%E4%B8%AA%E5%8F%AB%E5%81%9A%20Mrm%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E7%9A%84%20mrm%20%E4%BE%9D%E8%B5%96%E9%A1%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--global%26nbsp%3Bmrm%26nbsp%3Bmrm-task-editorconfig%26nbsp%3Bmrm-task-prettier%26nbsp%3Bmrm-task-eslint%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%B7%BB%E5%8A%A0%20mrm%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beditorconfig%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Bprettier%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beslint%60%3B%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EMrm%20%E8%B4%9F%E8%B4%A3%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%E3%80%82%E5%AE%83%E8%BF%98%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E7%94%9F%E6%88%90%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BB%A5%E7%AC%A6%E5%90%88%E6%88%91%E4%BB%AC%E7%9A%84%E4%B8%AA%E4%BA%BA%E5%81%8F%E5%A5%BD%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20README%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E7%9A%84%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%E8%AF%BB%E5%8F%96%E9%A1%B9%E7%9B%AE%E5%90%8D%E7%A7%B0%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA%E5%9F%BA%E6%9C%AC%E7%9A%84%20Markdown%20%E6%A0%BC%E5%BC%8F%E7%9A%84%20README%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E5%86%99%E5%85%A5%20README.md%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3B%7B%26nbsp%3Bname%3A%26nbsp%3BprojectName%26nbsp%3B%7D%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BreadmeContents%26nbsp%3B%3D%26nbsp%3B%60%23%26nbsp%3B%24%7BprojectName%7D%5Cn...%5Cn%60%3B%5Cnawait%26nbsp%3Bfs.writeFile(%60%24%7BtargetDirectory%7D%2FREADME.md%60%2C%26nbsp%3BreadmeContents)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%9A%B4%E9%9C%B2%E7%9A%84%20fs.writeFile%20%E7%9A%84%20promise%20%E5%8F%98%E9%87%8F%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%8F%90%E4%BA%A4%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%80%E5%90%8E%EF%BC%8C%E6%98%AF%E6%97%B6%E5%80%99%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E7%94%A8%20git%20%E5%88%9B%E5%BB%BA%E7%9A%84%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%E4%BA%86%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Badd%26nbsp%3B.%60%3B%5Cnawait%26nbsp%3B%24%60git%26nbsp%3Bcommit%26nbsp%3B-m%26nbsp%3B%26%2334%3BAdd%26nbsp%3Bproject%26nbsp%3Bskeleton%26%2334%3B%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E6%9D%A1%E6%B6%88%E6%81%AF%EF%BC%8C%E7%A1%AE%E8%AE%A4%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B7%B2%E7%BB%8F%E6%88%90%E5%8A%9F%E5%90%AF%E5%8A%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econsole.log(%5Cn%26nbsp%3B%26nbsp%3Bchalk.green(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60%5C%5Cn%E2%9C%94%EF%B8%8F%26nbsp%3BThe%26nbsp%3Bproject%26nbsp%3B%24%7BprojectName%7D%26nbsp%3Bhas%26nbsp%3Bbeen%26nbsp%3Bsuccessfully%26nbsp%3Bbootstrapped!%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B)%5Cn)%3B%5Cnconsole.log(chalk.green(%60Add%26nbsp%3Ba%26nbsp%3Bgit%26nbsp%3Bremote%26nbsp%3Band%26nbsp%3Bpush%26nbsp%3Byour%26nbsp%3Bchanges.%60))%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%90%AF%E5%8A%A8%E6%96%B0%E9%A1%B9%E7%9B%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bnew-project%5Cn.%2Fbootstrap-tool.mjs%26nbsp%3B--directory%26nbsp%3Bnew-project%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%B9%B6%E8%A7%82%E7%9C%8B%E6%88%91%E4%BB%AC%E6%89%80%E5%81%9A%E7%9A%84%E4%B8%80%E5%88%87%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%80%BB%E7%BB%93%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E5%A6%82%E4%BD%95%E5%9C%A8%20Node.js%20%E4%B8%AD%E5%80%9F%E5%8A%A9%20Google%20%E7%9A%84%20zx%20%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E5%BC%BA%E5%A4%A7%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E4%BA%86%E5%AE%83%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%92%8C%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%81%B5%E6%B4%BB%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%B0%E7%9B%AE%E5%89%8D%E4%B8%BA%E6%AD%A2%EF%BC%8C%E6%88%91%E4%BB%AC%E6%89%80%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%8F%AA%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BC%80%E5%A7%8B%E3%80%82%E8%BF%99%E9%87%8C%E6%9C%89%E4%B8%80%E4%BA%9B%E5%8A%9F%E8%83%BD%E7%82%B9%E5%AD%90%EF%BC%8C%E4%BD%A0%E5%8F%AF%E8%83%BD%E6%83%B3%E5%B0%9D%E8%AF%95%E8%87%AA%E5%B7%B1%E6%B7%BB%E5%8A%A0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E3%80%82%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E8%BF%98%E4%B8%8D%E5%AD%98%E5%9C%A8%EF%BC%8C%E5%88%99%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E5%B9%B6%E8%AF%A2%E9%97%AE%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E6%83%B3%E8%A6%81%E4%B8%BA%E4%BB%96%E4%BB%AC%E5%88%9B%E5%BB%BA%E8%AF%A5%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BC%80%E6%BA%90%E5%8D%AB%E7%94%9F%E3%80%82%E9%97%AE%E9%97%AE%E7%94%A8%E6%88%B7%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E5%9C%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B0%86%E6%98%AF%E5%BC%80%E6%BA%90%E7%9A%84%E9%A1%B9%E7%9B%AE%E3%80%82%E5%A6%82%E6%9E%9C%E6%98%AF%E7%9A%84%E8%AF%9D%EF%BC%8C%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E8%AE%B8%E5%8F%AF%E8%AF%81%E5%92%8C%E8%B4%A1%E7%8C%AE%E8%80%85%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%20GitHub%20%E4%B8%8A%E7%9A%84%E4%BB%93%E5%BA%93%E3%80%82%E6%B7%BB%E5%8A%A0%E4%BD%BF%E7%94%A8%20GitHub%20CLI%20%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%9C%A8%20GitHub%20%E4%B8%8A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E3%80%82%E4%B8%80%E6%97%A6%E7%94%A8%20Git%20%E6%8F%90%E4%BA%A4%E4%BA%86%E5%88%9D%E5%A7%8B%E9%AA%A8%E6%9E%B6%EF%BC%8C%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E6%8E%A8%E9%80%81%E5%88%B0%E8%BF%99%E4%B8%AA%E4%BB%93%E5%BA%93%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E5%9C%A8%20GitHub%20%E4%B8%8A%E6%89%BE%E5%88%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E8%AF%91%E8%87%AA%EF%BC%9A%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5Z%252ByLQNgua%252FY5gnguxXllg%253D%253D.SeNINYETng%252BH6uZupDjhsYNRqM5GWB5jXVDlvMdMqsO9u3CmWfwe8DwT48iAvK%252Fsm8pflQ8jbxHc1sB281%252B6pA%253D%253D%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%9C%E8%80%85%EF%BC%9A%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3ESimon%20Plenderleith%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BB%A5%E4%B8%8A%E5%B0%B1%E6%98%AF%E6%9C%AC%E6%96%87%E7%9A%84%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9%E3%80%82%E5%A6%82%E6%9E%9C%E5%AF%B9%E4%BD%A0%E6%9C%89%E6%89%80%E5%B8%AE%E5%8A%A9%EF%BC%8C%E6%AC%A2%E8%BF%8E%E7%82%B9%E8%B5%9E%E3%80%81%E6%94%B6%E8%97%8F%E3%80%81%E8%BD%AC%E5%8F%91~%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Chr%3E%22%2C%22imageList%22%3A%5B%5D%2C%22mediaInfo%22%3A%7B%22userId%22%3A%22MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH%22%2C%22unsafeUserId%22%3A%224288553596503552%22%2C%22name%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22avatarUrl%22%3A%22https%3A%2F%2Fsf3-cdn-tos.toutiaostatic.com%2Fimg%2Fuser-avatar%2Fc14bb151d3505084033c82ee8238acde~300x300.image%22%2C%22description%22%3A%22%E6%AC%A2%E8%BF%8E%E5%85%B3%E6%B3%A8VX%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22userVerified%22%3A1%7D%2C%22seoTDK%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC-%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1%22%2C%22description%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22keywords%22%3A%22%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%2CNode.js%2CGoogle%2CJavaScript%2CBash%2CTypeScript%2CZsh%2CGitHub%2C%E7%BE%8E%E5%A5%BD%EF%BC%8C%E4%B8%80%E7%9B%B4%E5%9C%A8%E8%BA%AB%E8%BE%B9%22%2C%22publishTimestamp%22%3A%221678237205%22%2C%22modifiedTimestamp%22%3A%221685548306%22%7D%2C%22cover%22%3A%22https%3A%2F%2Fp3-sign.toutiaoimg.com%2Flarge%2Ftos-cn-i-qvj2lq49k0%2F7894dd4439eb4e78ad35208f496e841a%3F_iz%3D58558%26from%3Darticle.pc_detail%26x-expires%3D1690103402%26x-signature%3D5z%252FNWR2V4o%252B5W0fhczXkGuaSyYE%253D%22%2C%22logId%22%3A%222023071617100290B65219A60FE2C10ABA%22%2C%22sylpageConfig%22%3A%7B%22card%22%3A%7B%22id%22%3A%22%22%7D%7D%2C%22identity%22%3A%7B%22web_id%22%3A%227235169635611018810%22%2C%22user_is_login%22%3Afalse%7D%2C%22abtestInfo%22%3A%7B%22rsp_type%22%3A5%2C%22version_name%22%3A%224938400%22%2C%22parameters%22%3A%7B%22filter%22%3A%7B%22debug_enable_pc_small_video%22%3Afalse%2C%22enable_pc_small_video%22%3Atrue%7D%2C%22home_nav_conf%22%3A%7B%22dcd_out%22%3A1%7D%2C%22optimus%22%3A%7B%22rule_rank_rules%22%3A%22ranking_rule_list%20%7B%5Cn%20%20id%3A%201221233%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2212123%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%202%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%2020458%5Cn%20%20priority%3A%203%5Cn%20%20enabled%3A%20true%5Cn%20%20category%3A%2020458%5Cn%20%20type%3A%20WINDOW%5Cn%20%20window_rule%20%7B%5Cn%20%20%20%20type%3A%20SLIDE%5Cn%20%20%20%20size%3A%203%5Cn%20%20%20%20max%3A%201%5Cn%20%20%7D%5Cn%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%201111024%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2211024%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%206%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%22%7D%2C%22page_upgrade%22%3A%7B%22new_profile%22%3Atrue%2C%22video_double_column%22%3Atrue%7D%2C%22recall%22%3A%7B%22debug_filter_reason_list%22%3A%5B%5D%2C%22debug_recall_reason_list%22%3A%5B70%2C71%2C72%2C73%2C80%2C83%5D%2C%22enable_debug_filter_reason%22%3Atrue%2C%22enable_debug_recall_reason%22%3Atrue%2C%22friend_feed%22%3A%7B%22control_nums%22%3A1500%2C%22count%22%3A1000%2C%22enable%22%3Atrue%2C%22enable_cpp_friend_feed%22%3Atrue%2C%22enable_friend_feed_container_filter%22%3Atrue%2C%22enable_group_status_filter%22%3Atrue%2C%22params%22%3A%7B%7D%2C%22top_k%22%3A10%2C%22use_new_friend_recall%22%3Atrue%2C%22valid_group_source%22%3A%5B2%2C5%2C15%2C23%2C16%2C19%2C21%2C132%5D%2C%22weight%22%3A20%7D%7D%2C%22seraph%22%3A%7B%22rule_rank_rules_pc_small%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20%20%20%20%20%20id%3A%2022124%20%5Cn%20%20%20%20%20%20%20%20%20priority%3A%200%20%5Cn%20%20%20%20%20%20%20%20%20tags%3A%20%5C%2222124%5C%22%20%5Cn%20%20%20%20%20%20%20%20%20enabled%3A%20true%20%5Cn%20%20%20%20%20%20%20%20%20type%3A%20CARD%20%5Cn%20%20%20%20%20%20%20%20%20card_rule%20%7B%20%5Cn%20%20%20%20%20%20%20%20%20size%3A%206%20%5Cn%20%20%20%20%20%20%20%20%20num_cards%3A%201%5Cn%20%20%20%20%20%20%20%20%20type%3A%20SAME_SLOT%20%5Cn%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%22%2C%22rule_rank_rules_pc_small_window%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20id%3A%20222124%5Cn%20%20%20priority%3A%200%5Cn%20%20%20tags%3A%20%5C%2222124%5C%22%5Cn%20%20%20%20enabled%3A%20false%5Cn%20%20%20%20type%3A%20WINDOW%5Cn%20%20%20%20window_rule%20%7B%5Cn%20%20%20type%3A%20SLIDE%20%5Cn%20%20%20size%3A%2012%20%5Cn%20%20%20max%3A%206%20%5Cn%20%20%20%7D%5Cn%20%20%20%7D%22%7D%2C%22small_sort%22%3A%7B%22enable_filter_zhanwai%22%3Atrue%2C%22filter_genre_plog%22%3Afalse%2C%22filter_genre_small%22%3Afalse%2C%22skip_small_app_version_filter%22%3Afalse%2C%22skip_small_genre_filter%22%3Afalse%7D%2C%22sort%22%3A%7B%22allowed_ticai%22%3A%5B%22forum_post%22%2C%22pgc_text%22%2C%22pgc_video%22%2C%22short_video%22%5D%2C%22enable_optimus_gen_pc_mv_card%22%3Atrue%2C%22enable_optimus_gen_pc_sv_card%22%3Atrue%2C%22enable_pc_skip_app_smallvideo_card%22%3Atrue%7D%2C%22ugc_sort%22%3A%7B%22expore_smallvideo%22%3Atrue%7D%2C%22video_channel%22%3A%7B%22use_feed%22%3A1%2C%22rank%22%3A5%7D%7D%2C%22env_flag%22%3A0%7D%2C%22localCityInfo%22%3A%7B%22name%22%3A%22%E8%A5%84%E9%98%B3%22%2C%22code%22%3A%22420600%22%2C%22channelId%22%3A3202181326%7D%2C%22voteLink%22%3A%5B%7B%22keyword%22%3A%22%E6%9C%AB%E4%B8%96%E9%87%8D%E7%94%9F%EF%BC%8C%E6%88%91%E6%8A%A2%E4%BA%86%E5%A5%B3%E4%B8%BB%E7%9A%84%E9%87%91%E6%89%8B%E6%8C%87%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7045105728742231079%22%7D%2C%7B%22keyword%22%3A%22%E4%BA%BA%E5%9C%A8%E6%B5%B7%E8%B4%BC%3A%E6%88%91%E6%88%90%E4%B8%BA%E4%BA%86%E6%B5%B7%E5%86%9B%E5%A5%B3%E7%8E%8B%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7070145477789879300%22%7D%2C%7B%22keyword%22%3A%22%E6%B2%A1%E7%9E%8E%E7%9C%BC%E4%B8%89%E5%B9%B4%EF%BC%8C%E4%BD%86%E6%88%91%E7%9A%84%E5%AD%A6%E7%94%9F%E4%B8%8D%E6%98%AF%E4%BA%BA%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7118385133568134175%22%7D%2C%7B%22keyword%22%3A%22%E7%9C%9F%E5%8D%83%E9%87%91%E4%BB%8E%E4%BF%AE%E7%9C%9F%E7%95%8C%E5%9B%9E%E6%9D%A5%E4%BA%86%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F6983183491827502094%22%7D%2C%7B%22keyword%22%3A%22%E5%BC%82%E4%B8%96%E7%9B%B8%E9%81%87%E5%B0%BD%E4%BA%AB%E7%A4%BE%E6%AD%BB%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F583844%22%7D%2C%7B%22keyword%22%3A%22python%20ols%E5%9B%9E%E5%BD%92%E5%88%86%E6%9E%90%E7%BB%93%E6%9E%9C%E6%80%8E%E4%B9%88%E7%9C%8B%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131680%22%7D%2C%7B%22keyword%22%3A%22%E7%A5%9E%E5%A5%87%E5%AE%9D%E8%B4%9D%E4%B9%8B%E5%85%A8%E8%83%BD%E6%8E%8C%E9%97%A8%E4%BA%BA%E8%87%B4%E5%85%89%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F738595%22%7D%2C%7B%22keyword%22%3A%22%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3java8%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131722%22%7D%2C%7B%22keyword%22%3A%22linux%20mysql%20%E6%97%A5%E5%BF%97%E6%B8%85%E7%90%86%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1182964%22%7D%2C%7B%22keyword%22%3A%22%E6%88%91%E5%9C%A8%E5%AE%9D%E5%8F%AF%E6%A2%A6%E4%B8%96%E7%95%8C%E6%88%90%E4%B8%BA%E7%AC%AC%E4%B8%80%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F188604%22%7D%5D%2C%22grSensitive%22%3Afalse%2C%22showResearch%22%3Afalse%2C%22blockVisibility%22%3A%7B%22hotBoard%22%3Atrue%2C%22hotVideo%22%3Atrue%2C%22relatedRecommend%22%3Atrue%7D%2C%22isGreyTheme%22%3Afalse%2C%22searchBot%22%3Anull%7D%7D
gitconfig--global--get${settingName}`
).stdout.trim();
}catch(error){
//Ignoreprocessoutput
}
$.verbose=true;
returnsettingValue;
}
你会注意到,我们正在关闭 zx 默认设置的 verbose 模式。这意味着,当我们运行 git config 命令时,该命令和它发送到标准输出的任何内容都不会被显示。我们在函数的结尾处将 verbose 模式重新打开,这样我们就不会影响到我们稍后在脚本中添加的任何其他命令。
现在我们添加 checkGlobalGitSettings 函数,该函数接收 Git 设置名称组成的数组。它将循环遍历每个设置名称,并将其传递给 getGlobalGitSettingValue 函数以检索其值。如果设置没有值,将显示警告信息:
asyncfunctioncheckGlobalGitSettings(settingsToCheck){
for(letsettingNameofsettingsToCheck){
constsettingValue=awaitgetGlobalGitSettingValue(settingName);
if(!settingValue){
console.warn(
chalk.yellow(`Warning:Globalgitsetting'${settingName}'isnotset.`)
);
}
}
}
让我们给 checkGlobalGitSettings 添加一个调用,检查 user.name 和 user.email 的 Git 设置是否已经被设置:
awaitcheckGlobalGitSettings(["user.name","user.email"]);
初始化 Git 仓库
我们可以通过添加以下命令在项目目录下初始化一个新的 Git 仓库:
await
社区精选|如何使用 zx 编写 shell 脚本-*今条头日**
{"@context":"https://schema.org","@type":"NewsArticle","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.toutiao.com/article/7207743318715793920/"},"headline":"社区精选|如何使用 zx 编写 shell 脚本","description":"在这篇文章中,我们将学习谷歌的 zx 库提供了什么,以及我们如何使用它来用 Node.js 编写 shell 脚本。","image":[],"datePublished":"2023-03-08T01:00:05.000Z","dateModified":"2023-05-31T15:51:46.000Z","author":{"@type":"Person","name":"计算科学与信息化","url":"https://www.toutiao.com/c/user/token/MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH/"},"publisher":{"@type":"Organization","name":"*今条头日**","logo":{"@type":"ImageObject","url":"https://lf3-static.bytednsdoc.com/obj/eden-cn/uhbfnupkbps/216.png"}}}
!function(r,e,t,n,s,a,o,i,c,l,d,p,m,f){a="precollect",o="getAttribute",i="addEventListener",(l=function(e){(d=[].slice.call(arguments)).push(Date.now(),location.href),(e==a?l.p.a:l.q).push(d)}).q=[],l.p={a:[]},r[s]=l,(p=document.createElement("script")).src=t+"?bid=toutiao_web_pc&globalName="+s,p.crossOrigin=0
window.Slardar&&window.Slardar("init",{bid:"toutiao_web_pc",pid:"news_article_detail",release:"1.0.0.1822",env:"online",sample:{sample_rate:1},plugins:{ajax:{ignoreUrls:["mcs.snssdk.com","mcs.zijieapi.com","i.snssdk.com","verify.snssdk.com","vcs.snssdk.com","mon.zijieapi.com","mon.snssdk.com"]},pageview:{routeMode:"manual"},blankScreen:{rootSelector:"#root"}}})
!function(n,t){if(n.LogAnalyticsObject=t,!n[t]){function c(){c.q.push(arguments)}c.q=c.q||[],n[t]=c}n[t].l=+new Date}(window,"collectEvent")
window.collectEvent("usePlugin","autotrack"),window.collectEvent("usePlugin","stay"),window.collectEvent("init",{app_id:24,channel:"cn",autotrack:{custom:"tea",text:!0},enable_stay_duration:!0}),window.collectEvent("config",{evtParams:{url:window.location.href,screen_width:window.screen.width,screen_height:window.screen.height,screen_inner_width:window.innerWidth,screen_inner_height:window.innerHeight}})
window.byted_acrawler&&window.byted_acrawler.init({aid:24,dfp:!0})
window.TTGCaptcha&&window.TTGCaptcha.init({commonOptions:{aid:24,iid:"0",did:"0"}})
window.secsdk&&window.secsdk.csrf.setProtectedHost({"www.toutiao.com":{GET:[],POST:[/^\/api\/pc\/user\/fans_digg/,/^\/api\/pc\/user\/delete/,/^\/api\/pc\/user\/follow/,/^\/c\/ugc\/content\/repost/,/^\/group\/repin/,/^\/group\/unrepin/,/^\/api\/pc\/user\/stick/,/^\/api\/pc\/user\/unstick/,/^\/c\/user\/unfollow/,/^\/wenda\/v5\/interact\/followanswer/,/^\/wenda\/v5\/interact\/followquestion/,/^\/wenda\/v5\/interact\/digganswer/,/^\/wenda\/v5\/interact\/deleteanswer/,/^\/user_data\/batch_action/],PUT:[],PATCH:[],DELETE:[]}})
"undefined"!=typeof window&&"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("/sw.js").catch(function(e){window.Slardar&&window.Slardar("emit","counter",{name:"sw-register-error",value:1})})})
function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-QEHZPBE5HH")
%7B%22data%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%22%2C%22abstract%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22articleType%22%3A%22article%22%2C%22itemId%22%3A%227207743318715793920%22%2C%22groupId%22%3A%227207743318715793920%22%2C%22groupSource%22%3A2%2C%22isOriginal%22%3Afalse%2C%22banComment%22%3Afalse%2C%22publishTime%22%3A%222023-03-08%2009%3A00%22%2C%22source%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22tag%22%3A%22technique%22%2C%22mediaSite%22%3Anull%2C%22pathname%22%3A%22%2Farticle%2F7207743318715793920%2F%22%2C%22useCandle%22%3Afalse%2C%22isExclusive%22%3Afalse%2C%22favorite%22%3Afalse%2C%22relation%22%3A%7B%22isFollowing%22%3Afalse%2C%22isFollowed%22%3Afalse%7D%2C%22likeData%22%3A%7B%22userLikeStatus%22%3A0%2C%22count%22%3A1%7D%2C%22isSelf%22%3Afalse%2C%22content%22%3A%22%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%89%8D%E8%A8%80%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E6%9D%A5%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E5%BC%95%E5%AF%BC%E9%85%8D%E7%BD%AE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E7%BC%96%E5%86%99%20Shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E9%97%AE%E9%A2%98%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%94%B1%20Bash%20%E6%88%96%E8%80%85%20zsh%20%E6%89%A7%E8%A1%8C%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%98%AF%E8%87%AA%E5%8A%A8%E5%8C%96%E9%87%8D%E5%A4%8D%E4%BB%BB%E5%8A%A1%E7%9A%84%E5%A5%BD%E6%96%B9%E6%B3%95%E3%80%82Node.js%20%E4%BC%BC%E4%B9%8E%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E7%90%86%E6%83%B3%E9%80%89%E6%8B%A9%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E8%AE%B8%E5%A4%9A%E6%A0%B8%E5%BF%83%E6%A8%A1%E5%9D%97%EF%BC%8C%E5%B9%B6%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E5%AF%BC%E5%85%A5%E4%BB%BB%E4%BD%95%E6%88%91%E4%BB%AC%E9%80%89%E6%8B%A9%E7%9A%84%E5%BA%93%E3%80%82%E5%AE%83%E8%BF%98%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%AE%BF%E9%97%AE%20JavaScript%20%E6%8F%90%E4%BE%9B%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E5%92%8C%E5%86%85%E7%BD%AE%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E4%BD%A0%E5%B0%9D%E8%AF%95%E7%BC%96%E5%86%99%E8%BF%90%E8%A1%8C%E5%9C%A8%20Node.js%20%E4%B8%AD%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E4%BD%A0%E4%BC%9A%E5%8F%91%E7%8E%B0%E8%BF%99%E6%B2%A1%E6%9C%89%E4%BD%A0%E6%83%B3%E8%B1%A1%E4%B8%AD%E7%9A%84%E9%82%A3%E4%B9%88%E9%A1%BA%E5%88%A9%E3%80%82%E4%BD%A0%E9%9C%80%E8%A6%81%E4%B8%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%BC%96%E5%86%99%E7%89%B9%E6%AE%8A%E7%9A%84%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%EF%BC%8C%E6%B3%A8%E6%84%8F%E8%BD%AC%E4%B9%89%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%EF%BC%8C%E7%84%B6%E5%90%8E%E6%9C%80%E7%BB%88%E4%B8%8E%20stdout%EF%BC%88%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%89%E5%92%8C%20stderr%EF%BC%88%E6%A0%87%E5%87%86%E9%94%99%E8%AF%AF%EF%BC%89%E6%89%93%E4%BA%A4%E9%81%93%E3%80%82%E8%BF%99%E4%B8%8D%E6%98%AF%E7%89%B9%E5%88%AB%E7%9B%B4%E8%A7%82%EF%BC%8C%E8%80%8C%E4%B8%94%E4%BC%9A%E4%BD%BF%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E7%9B%B8%E5%BD%93%E7%AC%A8%E6%8B%99%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EBash%20shell%20%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E6%99%AE%E9%81%8D%E9%80%89%E6%8B%A9%E3%80%82%E4%B8%8D%E9%9C%80%E8%A6%81%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%E6%9D%A5%E5%A4%84%E7%90%86%E5%AD%90%E8%BF%9B%E7%A8%8B%EF%BC%8C%E8%80%8C%E4%B8%94%E5%AE%83%E6%9C%89%E5%86%85%E7%BD%AE%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E6%9D%A5%E5%A4%84%E7%90%86%20stdout%20%E5%92%8C%20stderr%E3%80%82%E4%BD%86%E6%98%AF%E7%94%A8%20Bash%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E4%B9%9F%E4%B8%8D%E6%98%AF%E9%82%A3%E4%B9%88%E5%AE%B9%E6%98%93%E3%80%82%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9B%B8%E5%BD%93%E6%B7%B7%E4%B9%B1%EF%BC%8C%E4%BD%BF%E5%BE%97%E5%AE%83%E5%AE%9E%E7%8E%B0%E9%80%BB%E8%BE%91%EF%BC%8C%E6%88%96%E8%80%85%E5%A4%84%E7%90%86%E8%AF%B8%E5%A6%82%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E7%9A%84%E4%BA%8B%E6%83%85%E9%9D%9E%E5%B8%B8%E5%9B%B0%E9%9A%BE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%9C%89%E5%8A%A9%E4%BA%8E%E8%AE%A9%E4%BD%BF%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E9%AB%98%E6%95%88%E5%92%8C%E8%88%92%E9%80%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BE%80%E4%B8%8B%E9%98%85%E8%AF%BB%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%E9%9C%80%E8%A6%81%E9%81%B5%E5%BE%AA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%90%86%E6%83%B3%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E4%BD%A0%E5%BA%94%E8%AF%A5%E7%86%9F%E6%82%89%20JavaScript%20%E5%92%8C%20Node.js%20%E7%9A%84%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E9%80%82%E5%BA%94%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20Node.js%20%26gt%3B%3D%20v14.13.1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cbr%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E4%BB%8E%20GitHub%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DysCUhsc%252BhqUmtqCo55t8jw%253D%253D.aWhjUaPje6eTlkcFFdhW%252FeIVYyAz5G%252FoPbGuXjsxlpcJphMKguwz3NoHWQ9o2vDb47Nfnm9kpIP6Ol5r6Euc8A%253D%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E8%8E%B7%E5%BE%97%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E8%BF%90%E4%BD%9C%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EGoogle%20%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%88%9B%E5%BB%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%A4%84%E7%90%86%E8%BF%99%E4%BA%9B%E8%BF%9B%E7%A8%8B%E7%9A%84%20stdout%20%E5%92%8C%20stderr%20%E7%9A%84%E5%87%BD%E6%95%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E7%9A%84%E4%B8%BB%E8%A6%81%E5%87%BD%E6%95%B0%E6%98%AF%24%E5%87%BD%E6%95%B0%E3%80%82%E4%B8%8B%E9%9D%A2%E6%98%AF%E5%AE%83%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AE%9E%E9%99%85%E4%BE%8B%E5%AD%90%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnawait%26nbsp%3B%24%60ls%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E6%89%A7%E8%A1%8C%E4%B8%8A%E8%BF%B0%E4%BB%A3%E7%A0%81%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnbootstrap-tool%5Cnhello-world%5Cnnode_modules%5Cnpackage.json%5CnREADME.md%5Cntypescript%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%E7%9A%84%20JavaScript%20%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9C%8B%E8%B5%B7%E6%9D%A5%E6%9C%89%E7%82%B9%E5%8F%A4%E6%80%AA%E3%80%82%E5%AE%83%E4%BD%BF%E7%94%A8%E4%BA%86%E4%B8%80%E7%A7%8D%E5%8F%AB%E5%81%9A%E5%B8%A6%E6%A0%87%E7%AD%BE%E7%9A%84%E6%A8%A1%E6%9D%BF%E5%AD%97%E7%AC%A6%E4%B8%B2%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DVUkodq5er%252Fynbhfl3MUQZA%253D%253D.%252Flx6oaDCVK4XuYyYLqvDi2QMWjCwW1jKBvNQgfaGG0AVwpl7I2CYD4sJYHuonDSA6jj1qSSypc0aGVO%252BYuBMUiibG6pBkVwusg%252Bai1hbMXetqlwMTWVUEAbtabMCbXIs%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E3%80%82%E5%AE%83%E5%9C%A8%E5%8A%9F%E8%83%BD%E4%B8%8A%E4%B8%8E%E7%BC%96%E5%86%99%20await%20%24(%26%2334%3Bls%26%2334%3B)%E7%9B%B8%E5%90%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%85%B6%E4%BB%96%E5%87%A0%E4%B8%AA%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%EF%BC%8C%E4%BD%BF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E6%9B%B4%E5%AE%B9%E6%98%93%E3%80%82%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ecd()%E3%80%82%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E6%9B%B4%E6%94%B9%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Equestion()%E3%80%82%E8%BF%99%E6%98%AF%20Node.js%20readline%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%8C%85%E8%A3%85%E5%99%A8%E3%80%82%E5%AE%83%E4%BD%BF%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E5%8F%98%E5%BE%97%E7%AE%80%E5%8D%95%E6%98%8E%E4%BA%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%99%A4%E4%BA%86%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%A4%96%EF%BC%8C%E5%AE%83%E8%BF%98%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E5%87%A0%E4%B8%AA%E6%B5%81%E8%A1%8C%E7%9A%84%E5%BA%93%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Echalk%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D%252FL15Y8OQNrp05Scx6N4iaQ%253D%253D.r8AZkfcE1Ye%252BlNUznFA9RNJMhfyM0lttTiD0TmqjJQwoi7zjQjs5YiLjI%252FWDEooY%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%99%E4%B8%AA%E5%BA%93%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E4%B8%BA%E8%84%9A%E6%9C%AC%E7%9A%84%E8%BE%93%E5%87%BA%E6%B7%BB%E5%8A%A0%E9%A2%9C%E8%89%B2%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Eminimist%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5tMQ5d6qJ4STEHZeuiN0MA%253D%253D.x9GPOpXVZp5TGKknZCkwA10QP%252Ftw%252BW7fwnpYGg%252BnlJPJLK3RboT3jqy5WuPLFwPZ%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E4%B8%AA%E8%A7%A3%E6%9E%90%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E7%9A%84%E5%BA%93%E3%80%82%E7%84%B6%E5%90%8E%E5%AE%83%E4%BB%AC%E5%9C%A8%20argv%20%E5%AF%B9%E8%B1%A1%E4%B8%8B%E8%A2%AB%E6%9A%B4%E9%9C%B2%E5%87%BA%E6%9D%A5%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efetch%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D71LC44tCu%252FZoLOY2B7MfuA%253D%253D.GO%252FMi37T0KTmj8UXau9xdFUBiIk1I%252F8M%252FHk2hZYrhRb%252Fd3Vl0bzlr05hanNxzuVb%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EFetch%20API%20%E7%9A%84%20Node.js%20%E5%AE%9E%E7%8E%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E8%BF%9B%E8%A1%8C%20HTTP%20%E8%AF%B7%E6%B1%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efs-extra%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DcPZzXniTRFJdbq87FdwLWw%253D%253D.IsmhSUEjIcZAqw8FDidbUnNhhIVPT1gsFSo%252BchiXCAs9AaxUVT%252FEgbIvswUDVmK2%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%B8%80%E4%B8%AA%E6%9A%B4%E9%9C%B2%20Node.js%20%E6%A0%B8%E5%BF%83%20fs%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%BA%93%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B9%E6%B3%95%EF%BC%8C%E4%BD%BF%E5%85%B6%E6%9B%B4%E5%AE%B9%E6%98%93%E4%B8%8E%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%80%E8%B5%B7%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9F%A5%E9%81%93%E4%BA%86%20zx%20%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E4%BB%80%E4%B9%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E7%94%A8%E5%AE%83%E5%88%9B%E5%BB%BA%E7%AC%AC%E4%B8%80%E4%B8%AA%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bzx-shell-scripts%5Cncd%26nbsp%3Bzx-shell-scripts%5Cnnpm%26nbsp%3Binit%26nbsp%3B--yes%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%AE%89%E8%A3%85%20zx%20%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bzx%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E7%9A%84%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E7%94%A8%20npm%20%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E8%AF%A5%E5%BA%93%E3%80%82%E9%80%9A%E8%BF%87%E5%B0%86%E5%85%B6%E5%AE%89%E8%A3%85%E4%B8%BA%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%A1%AE%E4%BF%9D%20zx%20%E6%80%BB%E6%98%AF%E8%A2%AB%E5%AE%89%E8%A3%85%EF%BC%8C%E5%B9%B6%E6%8E%A7%E5%88%B6%20shell%20%E8%84%9A%E6%9C%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E7%89%88%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A1%B6%E7%BA%A7%20await%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%20Node.js%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E9%A1%B6%E7%BA%A7%20await%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%20await%20%E4%BD%8D%E4%BA%8E%20async%20%E5%87%BD%E6%95%B0%E7%9A%84%E5%A4%96%E9%83%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%9C%A8%20ES%20%E6%A8%A1%E5%9D%97%E7%9A%84%E6%A8%A1%E5%BC%8F%E4%B8%8B%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%EF%BC%8C%E8%AF%A5%E6%A8%A1%E5%BC%8F%E6%94%AF%E6%8C%81%E9%A1%B6%E7%BA%A7%20await%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%20package.json%20%E4%B8%AD%E6%B7%BB%E5%8A%A0%20%26%2334%3Btype%26%2334%3B%3A%20%26%2334%3Bmodule%26%2334%3B%20%E6%80%8E%E4%B9%88%E6%80%8E%E4%B9%88%E6%9D%A5%E8%A1%A8%E6%98%8E%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%A8%A1%E5%9D%97%E9%83%BD%E6%98%AF%20ES%20%E6%A8%A1%E5%9D%97%E3%80%82%E6%88%96%E8%80%85%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%B0%86%E5%8D%95%E4%B8%AA%E8%84%9A%E6%9C%AC%E7%9A%84%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E8%AE%BE%E7%BD%AE%E4%B8%BA%20.mjs%20%E3%80%82%E5%9C%A8%E6%9C%AC%E6%96%87%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20.mjs%20%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E5%B9%B6%E6%8D%95%E8%8E%B7%E8%BE%93%E5%87%BA%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B0%86%E5%85%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world.mjs%20%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%AE%83%E5%91%8A%E8%AF%89%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%88OS%EF%BC%89%E7%9A%84%E5%86%85%E6%A0%B8%E8%A6%81%E7%94%A8%20node%20%E7%A8%8B%E5%BA%8F%E8%BF%90%E8%A1%8C%E8%AF%A5%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%BA%9B%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%BD%BF%E7%94%A8%20zx%20%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8B%E9%9D%A2%E7%9A%84%E4%BB%A3%E7%A0%81%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%20ls%20%E7%A8%8B%E5%BA%8F%E3%80%82ls%20%E7%A8%8B%E5%BA%8F%E5%B0%86%E5%88%97%E5%87%BA%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%88%E8%84%9A%E6%9C%AC%E6%89%80%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%EF%BC%89%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BB%8E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BF%9B%E7%A8%8B%E4%B8%AD%E6%8D%95%E8%8E%B7%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B0%86%E5%85%B6%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E7%84%B6%E5%90%8E%E6%89%93%E5%8D%B0%E5%88%B0%E7%BB%88%E7%AB%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cnconsole.log(output)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E6%8A%8A%2Fusr%2Fbin%2Fenv%20zx%20%E6%94%BE%E5%9C%A8%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E7%9A%84%20shebang%20%E8%A1%8C%E4%B8%AD%EF%BC%8C%E4%BD%86%E6%88%91%E4%BB%AC%E7%94%A8%2Fusr%2Fbin%2Fenv%20node%20%E4%BB%A3%E6%9B%BF%E3%80%82%E8%BF%99%E6%98%AF%E5%9B%A0%E4%B8%BA%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%20zx%EF%BC%8C%E5%B9%B6%E4%BD%9C%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E6%98%8E%E7%A1%AE%E5%9C%B0%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E6%83%B3%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%E3%80%82%E8%BF%99%E6%9C%89%E5%8A%A9%E4%BA%8E%E6%98%8E%E7%A1%AE%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E4%BE%9D%E8%B5%96%E6%9D%A5%E8%87%AA%E5%93%AA%E9%87%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%20chmod%20%E6%9D%A5%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E5%A6%82%E4%B8%8B%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%88ls%EF%BC%89%E8%A2%AB%E5%8C%85%E5%90%AB%E5%9C%A8%E8%BE%93%E5%87%BA%E4%B8%AD%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%E6%98%BE%E7%A4%BA%E4%B8%A4%E6%AC%A1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BE%93%E5%87%BA%E7%9A%84%E6%9C%AB%E5%B0%BE%E5%A4%9A%E4%BA%86%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E9%BB%98%E8%AE%A4%E4%BB%A5%20verbose%20%E6%A8%A1%E5%BC%8F%E8%BF%90%E8%A1%8C%E3%80%82%E5%AE%83%E5%B0%86%E8%BE%93%E5%87%BA%E4%BD%A0%E4%BC%A0%E9%80%92%E7%BB%99%24%E5%87%BD%E6%95%B0%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%90%8C%E6%97%B6%E4%B9%9F%E8%BE%93%E5%87%BA%E8%AF%A5%E5%91%BD%E4%BB%A4%E7%9A%84%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%E8%BF%90%E8%A1%8C%20ls%20%E5%91%BD%E4%BB%A4%E5%89%8D%E5%8A%A0%E5%85%A5%E4%BB%A5%E4%B8%8B%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E6%9D%A5%E6%94%B9%E5%8F%98%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A4%A7%E5%A4%9A%E6%95%B0%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%A6%82%20ls%EF%BC%8C%E4%BC%9A%E5%9C%A8%E5%85%B6%E8%BE%93%E5%87%BA%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E5%AD%97%E7%AC%A6%EF%BC%8C%E4%BB%A5%E4%BD%BF%E8%BE%93%E5%87%BA%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E6%9B%B4%E6%98%93%E8%AF%BB%E3%80%82%E8%BF%99%E5%AF%B9%E5%8F%AF%E8%AF%BB%E6%80%A7%E6%9C%89%E5%A5%BD%E5%A4%84%EF%BC%8C%E4%BD%86%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E8%A6%81%E5%B0%86%E8%BE%93%E5%87%BA%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E6%9C%89%E8%BF%99%E4%B8%AA%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B0%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%20JavaScript%20String%23trim()%E5%87%BD%E6%95%B0%E6%8A%8A%E5%AE%83%E5%8E%BB%E6%8E%89%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E-%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cn%2B%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout.trim()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%86%8D%E6%AC%A1%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E7%BB%93%E6%9E%9C%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%A5%BD%E5%BE%88%E5%A4%9A%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ehello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%BC%95%E5%85%A5%20TypeScript%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E6%83%B3%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%BC%96%E5%86%99%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%BE%AE%E5%B0%8F%E7%9A%84%E5%8C%BA%E5%88%AB%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%8A%A0%E4%BB%A5%E8%AF%B4%E6%98%8E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9ATypeScript%20%E7%BC%96%E8%AF%91%E5%99%A8%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E5%AE%83%E5%A6%82%E4%BD%95%E7%BC%96%E8%AF%91%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%E8%80%83%E8%99%91%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E4%B8%8B%E9%9D%A2%E7%9A%84%20TypeScript%20%E9%85%8D%E7%BD%AE%E5%92%8C%E4%BB%A3%E7%A0%81%E6%98%AF%E4%B8%BA%E4%BA%86%E5%9C%A8%E5%A4%A7%E5%A4%9A%E6%95%B0%20TypeScript%20%E7%89%88%E6%9C%AC%E4%B8%8B%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E5%AE%89%E8%A3%85%E9%9C%80%E8%A6%81%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E7%9A%84%E4%BE%9D%E8%B5%96%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Btypescript%26nbsp%3Bts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ets-node%20%E5%8C%85%E6%8F%90%E4%BE%9B%E4%BA%86%E4%B8%80%E4%B8%AA%20TypeScript%20%E6%89%A7%E8%A1%8C%E5%BC%95%E6%93%8E%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E8%83%BD%E5%A4%9F%E8%BD%AC%E8%AF%91%E5%92%8C%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%9C%80%E8%A6%81%E5%88%9B%E5%BB%BA%20tsconfig.json%20%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E4%B8%8B%E9%9D%A2%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%7B%5Cn%26%2334%3BcompilerOptions%26%2334%3B%3A%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Btarget%26%2334%3B%3A%26nbsp%3B%26%2334%3Bes2017%26%2334%3B%2C%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Bmodule%26%2334%3B%3A%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5Cn%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E6%96%B0%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B9%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world-typescript.ts%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E6%B7%BB%E5%8A%A0%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%91%8A%E8%AF%89%20OS%20%E5%86%85%E6%A0%B8%E4%BD%BF%E7%94%A8%20ts-node%20%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B.%2Fnode_modules%2F.bin%2Fts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E4%B8%AD%E4%BD%BF%E7%94%A8%20await%20%E5%85%B3%E9%94%AE%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E6%8A%8A%E5%AE%83%E5%8C%85%E8%A3%85%E5%9C%A8%E4%B8%80%E4%B8%AA%E7%AB%8B%E5%8D%B3%E8%B0%83%E7%94%A8%E5%87%BD%E6%95%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%EF%BC%88IIFE%EF%BC%89%E4%B8%AD%EF%BC%8C%E6%AD%A3%E5%A6%82%20zx%20%E6%96%87%E6%A1%A3%E6%89%80%E5%BB%BA%E8%AE%AE%E7%9A%84%E9%82%A3%E6%A0%B7%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world-typescript.ts%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnvoid%26nbsp%3B(async%26nbsp%3Bfunction%26nbsp%3B()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60ls%60%3B%5Cn%7D)()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E9%9C%80%E8%A6%81%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E4%B8%8B%E9%9D%A2%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world-typescript.ts%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cntsconfig.json%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%E8%84%9A%E6%9C%AC%E4%B8%8E%E4%BD%BF%E7%94%A8%20JavaScript%20%E7%9B%B8%E4%BC%BC%EF%BC%8C%E4%BD%86%E9%9C%80%E8%A6%81%E5%AF%B9%E6%88%91%E4%BB%AC%E7%9A%84%E4%BB%A3%E7%A0%81%E8%BF%9B%E8%A1%8C%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E9%85%8D%E7%BD%AE%E5%92%8C%E5%8C%85%E8%A3%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%9E%84%E5%BB%BA%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E7%94%A8%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AF%86%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E7%94%A8%E5%AE%83%E6%9D%A5%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B7%A5%E5%85%B7%E3%80%82%E8%BF%99%E4%B8%AA%E5%B7%A5%E5%85%B7%E5%B0%86%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E9%80%9A%E5%B8%B8%E5%BE%88%E8%80%97%E6%97%B6%E7%9A%84%E8%BF%87%E7%A8%8B%EF%BC%9A%E4%B8%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E7%9A%84%E9%85%8D%E7%BD%AE%E6%8F%90%E4%BE%9B%E5%BC%95%E5%AF%BC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BA%A4%E4%BA%92%E5%BC%8F%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E3%80%82%E5%AE%83%E8%BF%98%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E5%86%85%E7%BD%AE%E7%9A%84%20chalk%20%E5%BA%93%EF%BC%8C%E4%BB%A5%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A2%9C%E8%89%B2%E9%AB%98%E4%BA%AE%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B9%B6%E6%8F%90%E4%BE%9B%E4%B8%80%E4%B8%AA%E5%8F%8B%E5%A5%BD%E7%9A%84%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C%E3%80%82%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E8%BF%98%E5%B0%86%E5%AE%89%E8%A3%85%E6%96%B0%E9%A1%B9%E7%9B%AE%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%EF%BC%8C%E6%89%80%E4%BB%A5%E5%AE%83%E5%B7%B2%E7%BB%8F%E5%87%86%E5%A4%87%E5%A5%BD%E8%AE%A9%E6%88%91%E4%BB%AC%E7%AB%8B%E5%8D%B3%E5%BC%80%E5%A7%8B%E5%BC%80%E5%8F%91%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%87%86%E5%A4%87%E5%BC%80%E5%A7%8B%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%90%8D%E4%B8%BA%20bootstrap-tool.mjs%20%E7%9A%84%E6%96%B0%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B9%B6%E6%B7%BB%E5%8A%A0%20shebang%20%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E6%A8%A1%E5%9D%97%EF%BC%8C%E4%BB%A5%E5%8F%8A%20Node.js%20%E6%A0%B8%E5%BF%83%20path%20%E6%A8%A1%E5%9D%97%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%2F%2F%26nbsp%3Bbootstrap-tool.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%2C%26nbsp%3Bargv%2C%26nbsp%3Bcd%2C%26nbsp%3Bchalk%2C%26nbsp%3Bfs%2C%26nbsp%3Bquestion%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnimport%26nbsp%3Bpath%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bpath%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8E%E6%88%91%E4%BB%AC%E4%B9%8B%E5%89%8D%E5%88%9B%E5%BB%BA%E7%9A%84%E8%84%9A%E6%9C%AC%E4%B8%80%E6%A0%B7%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bbootstrap-tool.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E7%94%A8%E7%BA%A2%E8%89%B2%E6%96%87%E6%9C%AC%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%EF%BC%8C%E5%B9%B6%E4%BB%A5%E9%94%99%E8%AF%AF%E9%80%80%E5%87%BA%E4%BB%A3%E7%A0%81%201%20%E9%80%80%E5%87%BA%20Node.js%20%E8%BF%9B%E7%A8%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Efunction%26nbsp%3BexitWithError(errorMessage)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconsole.error(chalk.red(errorMessage))%3B%5Cn%26nbsp%3B%26nbsp%3Bprocess.exit(1)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BD%93%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%A4%84%E7%90%86%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E9%80%9A%E8%BF%87%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%9C%A8%E5%90%84%E4%B8%AA%E5%9C%B0%E6%96%B9%E4%BD%BF%E7%94%A8%E8%BF%99%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%E4%B8%89%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%9Agit%E3%80%81node%20%E5%92%8C%20npx%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20which%20%E5%BA%93%E6%9D%A5%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E6%A3%80%E6%9F%A5%E8%BF%99%E4%BA%9B%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%E5%B9%B6%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20which%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bwhich%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%BC%95%E5%85%A5%E5%AE%83%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3Bwhich%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bwhich%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BD%BF%E7%94%A8%E5%AE%83%E7%9A%84%20checkRequiredProgramsExist%20%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckRequiredProgramsExist(programs)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3Bprogram%26nbsp%3Bof%26nbsp%3Bprograms)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bwhich(program)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BRequired%26nbsp%3Bcommand%26nbsp%3B%24%7Berror.message%7D%60)%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%90%8D%E7%A7%B0%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%95%B0%E7%BB%84%EF%BC%8C%E5%AF%B9%E6%AF%8F%E4%B8%AA%E7%A8%8B%E5%BA%8F%E8%B0%83%E7%94%A8%20which%20%E5%87%BD%E6%95%B0%E3%80%82%E5%A6%82%E6%9E%9C%20which%20%E6%89%BE%E5%88%B0%E4%BA%86%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%B7%AF%E5%BE%84%EF%BC%8C%E5%AE%83%E5%B0%86%E8%BF%94%E5%9B%9E%E8%AF%A5%E7%A8%8B%E5%BA%8F%E3%80%82%E5%90%A6%E5%88%99%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%AF%A5%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E6%8A%9B%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E3%80%82%E5%A6%82%E6%9E%9C%E6%9C%89%E4%BB%BB%E4%BD%95%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E8%B0%83%E7%94%A8%20exitWithError%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%E5%B9%B6%E5%81%9C%E6%AD%A2%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%8F%AF%E4%BB%A5%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%AF%B9%20checkRequiredProgramsExist%20%E7%9A%84%E8%B0%83%E7%94%A8%EF%BC%8C%E4%BB%A5%E6%A3%80%E6%9F%A5%E6%88%91%E4%BB%AC%E7%9A%84%E5%B7%A5%E5%85%B7%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%8F%AF%E7%94%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckRequiredProgramsExist(%5B%26%2334%3Bgit%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnode%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnpx%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%B7%BB%E5%8A%A0%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E9%80%89%E9%A1%B9%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%B0%86%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E5%90%AF%E5%8A%A8%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%88%91%E4%BB%AC%E5%B8%8C%E6%9C%9B%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9A%84%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E3%80%82%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E8%A6%81%E7%BB%99%E8%84%9A%E6%9C%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20--directory%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E5%86%85%E7%BD%AE%E4%BA%86%20minimist%20%E5%8C%85%EF%BC%8C%E5%AE%83%E8%83%BD%E5%A4%9F%E8%A7%A3%E6%9E%90%E4%BC%A0%E9%80%92%E7%BB%99%E8%84%9A%E6%9C%AC%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%E8%BF%99%E4%BA%9B%E8%A2%AB%E8%A7%A3%E6%9E%90%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E8%A2%AB%20zx%20%E5%8C%85%E4%BD%9C%E4%B8%BA%20argv%20%E6%8F%90%E4%BE%9B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E5%90%8D%E4%B8%BA%20directory%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E6%A3%80%E6%9F%A5%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Elet%26nbsp%3BtargetDirectory%26nbsp%3B%3D%26nbsp%3Bargv.directory%3B%5Cnif%26nbsp%3B(!targetDirectory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%26%2334%3BError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%26%2334%3B)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%20directory%20%E5%8F%82%E6%95%B0%E8%A2%AB%E4%BC%A0%E9%80%92%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%E5%AE%83%E6%98%AF%E5%90%A6%E6%98%AF%E5%B7%B2%E7%BB%8F%E5%AD%98%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%E7%9A%84%E8%B7%AF%E5%BE%84%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%8F%90%E4%BE%9B%E7%9A%84%20fs.pathExists%20%E6%96%B9%E6%B3%95%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3EtargetDirectory%26nbsp%3B%3D%26nbsp%3Bpath.resolve(targetDirectory)%3B%5Cnif%26nbsp%3B(!(await%26nbsp%3Bfs.pathExists(targetDirectory)))%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BTarget%26nbsp%3Bdirectory%26nbsp%3B%26%2339%3B%24%7BtargetDirectory%7D%26%2339%3B%26nbsp%3Bdoes%26nbsp%3Bnot%26nbsp%3Bexist%60)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E8%B7%AF%E5%BE%84%E5%AD%98%E5%9C%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%20cd%20%E5%87%BD%E6%95%B0%E6%9D%A5%E5%88%87%E6%8D%A2%E5%BD%93%E5%89%8D%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%9A%E2%80%8D%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ecd(targetDirectory)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%9C%A8%E6%B2%A1%E6%9C%89--directory%20%E5%8F%82%E6%95%B0%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E5%BA%94%E8%AF%A5%E4%BC%9A%E6%94%B6%E5%88%B0%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3B.%2Fbootstrap-tool.mjs%5CnError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E5%85%A8%E5%B1%80%20Git%20%E8%AE%BE%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%A8%8D%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%8C%E4%BD%86%E9%A6%96%E5%85%88%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%20Git%20%E6%98%AF%E5%90%A6%E6%9C%89%E5%AE%83%E9%9C%80%E8%A6%81%E7%9A%84%E9%85%8D%E7%BD%AE%E3%80%82%E6%88%91%E4%BB%AC%E8%A6%81%E7%A1%AE%E4%BF%9D%E6%8F%90%E4%BA%A4%E4%BC%9A%E8%A2%AB%20GitHub%20%E7%AD%89%E4%BB%A3%E7%A0%81%E6%89%98%E7%AE%A1%E6%9C%8D%E5%8A%A1%E6%AD%A3%E7%A1%AE%E5%BD%92%E7%B1%BB%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%81%9A%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E8%BF%99%E9%87%8C%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E7%B4%A2%20Git%20%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%E7%9A%84%E5%80%BC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetGlobalGitSettingValue(settingName)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B%26%2334%3B%26%2334%3B%3B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60git%26nbsp%3Bconfig%26nbsp%3B--global%26nbsp%3B--get%26nbsp%3B%24%7BsettingName%7D%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B).stdout.trim()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%2F%2F%26nbsp%3BIgnore%26nbsp%3Bprocess%26nbsp%3Boutput%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BsettingValue%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E5%85%B3%E9%97%AD%20zx%20%E9%BB%98%E8%AE%A4%E8%AE%BE%E7%BD%AE%E7%9A%84%20verbose%20%E6%A8%A1%E5%BC%8F%E3%80%82%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%EF%BC%8C%E5%BD%93%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%97%B6%EF%BC%8C%E8%AF%A5%E5%91%BD%E4%BB%A4%E5%92%8C%E5%AE%83%E5%8F%91%E9%80%81%E5%88%B0%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E7%9A%84%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9%E9%83%BD%E4%B8%8D%E4%BC%9A%E8%A2%AB%E6%98%BE%E7%A4%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%9C%A8%E5%87%BD%E6%95%B0%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E5%B0%86%20verbose%20%E6%A8%A1%E5%BC%8F%E9%87%8D%E6%96%B0%E6%89%93%E5%BC%80%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E5%BD%B1%E5%93%8D%E5%88%B0%E6%88%91%E4%BB%AC%E7%A8%8D%E5%90%8E%E5%9C%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%85%B6%E4%BB%96%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%20checkGlobalGitSettings%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A5%E5%87%BD%E6%95%B0%E6%8E%A5%E6%94%B6%20Git%20%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%E7%BB%84%E6%88%90%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%B0%86%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%AF%8F%E4%B8%AA%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E4%BC%A0%E9%80%92%E7%BB%99%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E4%BB%A5%E6%A3%80%E7%B4%A2%E5%85%B6%E5%80%BC%E3%80%82%E5%A6%82%E6%9E%9C%E8%AE%BE%E7%BD%AE%E6%B2%A1%E6%9C%89%E5%80%BC%EF%BC%8C%E5%B0%86%E6%98%BE%E7%A4%BA%E8%AD%A6%E5%91%8A%E4%BF%A1%E6%81%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckGlobalGitSettings(settingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3BsettingName%26nbsp%3Bof%26nbsp%3BsettingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetGlobalGitSettingValue(settingName)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!settingValue)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.warn(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.yellow(%60Warning%3A%26nbsp%3BGlobal%26nbsp%3Bgit%26nbsp%3Bsetting%26nbsp%3B%26%2339%3B%24%7BsettingName%7D%26%2339%3B%26nbsp%3Bis%26nbsp%3Bnot%26nbsp%3Bset.%60)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E7%BB%99%20checkGlobalGitSettings%20%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E8%B0%83%E7%94%A8%EF%BC%8C%E6%A3%80%E6%9F%A5%20user.name%20%E5%92%8C%20user.email%20%E7%9A%84%20Git%20%E8%AE%BE%E7%BD%AE%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E8%A2%AB%E8%AE%BE%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckGlobalGitSettings(%5B%26%2334%3Buser.name%26%2334%3B%2C%26nbsp%3B%26%2334%3Buser.email%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%88%9D%E5%A7%8B%E5%8C%96%20Git%20%E4%BB%93%E5%BA%93%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E6%B7%BB%E5%8A%A0%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Binit%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20package.json%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%AF%8F%E4%B8%AA%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%83%BD%E9%9C%80%E8%A6%81%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E8%BF%99%E6%98%AF%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E5%AE%9A%E4%B9%89%E5%85%83%E6%95%B0%E6%8D%AE%E7%9A%84%E5%9C%B0%E6%96%B9%EF%BC%8C%E6%8C%87%E5%AE%9A%E9%A1%B9%E7%9B%AE%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E5%8C%85%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%B7%BB%E5%8A%A0%E5%AE%9E%E7%94%A8%E7%9A%84%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%94%9F%E6%88%90%20package.json%20%E6%96%87%E4%BB%B6%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E5%87%A0%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%98%AF%20readPackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%AF%BB%E5%8F%96%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BreadPackageJson(directory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3Bfs.readJSON(packageJsonFilepath)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20writePackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E5%90%91%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E5%86%99%E5%85%A5%E6%9B%B4%E6%94%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BwritePackageJson(directory%2C%26nbsp%3Bcontents)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bfs.writeJSON(packageJsonFilepath%2C%26nbsp%3Bcontents%2C%26nbsp%3B%7B%26nbsp%3Bspaces%3A%26nbsp%3B2%26nbsp%3B%7D)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%20fs.readJSON%20%E5%92%8C%20fs.writeJSON%20%E6%96%B9%E6%B3%95%E6%98%AF%E7%94%B1%20fs-extra%20%E5%BA%93%E6%8F%90%E4%BE%9B%E7%9A%84%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E5%AE%9A%E4%B9%89%E4%BA%86%20package.json%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%BC%80%E5%A7%8B%E8%80%83%E8%99%91%20package.json%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E6%94%AF%E6%8C%81%E4%B8%A4%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ECommonJS%20Modules%20(CJS)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DKTweLvts6a1zOlUbn0cnCA%253D%253D.WRSoJ3t37Y2GYjanjStt81N%252BkCOGoR11gK8pv6Fck09uaKTSXHq5mvMcWutIRxYU%3C%2Fspan%3E%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%BF%E7%94%A8%20module.exports%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20require()%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EECMAScript%20Modules%20(ESM)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DOUbF%252BkjeOpAlt3Fo9PFGFw%253D%253D.Ex%252BQVnop7rVNKtYxrnp%252Fhcm08eFRE7K2XLUBlFFQ7D4%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%BD%BF%E7%94%A8%20export%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20import%20%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E7%94%9F%E6%80%81%E7%B3%BB%E7%BB%9F%E6%AD%A3%E5%9C%A8%E9%80%90%E6%AD%A5%E9%87%87%E7%94%A8%20ES%20%E6%A8%A1%E5%9D%97%EF%BC%8C%E8%BF%99%E5%9C%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%20JavaScript%20%E4%B8%AD%E6%98%AF%E5%BE%88%E5%B8%B8%E8%A7%81%E7%9A%84%E3%80%82%E5%BD%93%E4%BA%8B%E6%83%85%E5%A4%84%E4%BA%8E%E8%BF%87%E6%B8%A1%E9%98%B6%E6%AE%B5%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%86%B3%E5%AE%9A%E6%88%91%E4%BB%AC%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%BB%98%E8%AE%A4%E4%BD%BF%E7%94%A8%20CJS%20%E6%A8%A1%E5%9D%97%E8%BF%98%E6%98%AF%20ESM%20%E6%A8%A1%E5%9D%97%E3%80%82%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%BF%99%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForModuleSystem(moduleSystems)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Which%26nbsp%3BNode.js%26nbsp%3Bmodule%26nbsp%3Bsystem%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Buse%3F%26nbsp%3B(%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26nbsp%3Bor%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D)%26nbsp%3B%60%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchoices%3A%26nbsp%3BmoduleSystems%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BmoduleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E5%87%BD%E6%95%B0%E4%BD%BF%E7%94%A8%E7%9A%84%20question%20%E5%87%BD%E6%95%B0%E7%94%B1%20zx%20%E6%8F%90%E4%BE%9B%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getNodeModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E8%B0%83%E7%94%A8%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E6%A3%80%E6%9F%A5%E6%89%80%E8%BE%93%E5%85%A5%E7%9A%84%E5%80%BC%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%8D%E6%98%AF%EF%BC%8C%E5%AE%83%E5%B0%86%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetNodeModuleSystem()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystems%26nbsp%3B%3D%26nbsp%3B%5B%26%2334%3Bmodule%26%2334%3B%2C%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForModuleSystem(moduleSystems)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BisValidModuleSystem%26nbsp%3B%3D%26nbsp%3BmoduleSystems.includes(selectedModuleSystem)%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!isValidModuleSystem)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BModule%26nbsp%3Bsystem%26nbsp%3Bmust%26nbsp%3Bbe%26nbsp%3Beither%26nbsp%3B%26%2339%3B%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26%2339%3B%26nbsp%3Bor%26nbsp%3B%26%2339%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%26%2339%3B%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BselectedModuleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E8%BF%90%E8%A1%8C%20npm%20init%20%E5%91%BD%E4%BB%A4%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npm%26nbsp%3Binit%26nbsp%3B--yes%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E8%AF%BB%E5%8F%96%E6%96%B0%E5%88%9B%E5%BB%BA%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E8%AF%A2%E9%97%AE%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%B3%BB%E7%BB%9F%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA%20packageJson%20%E5%AF%B9%E8%B1%A1%E4%B8%AD%E7%9A%84%20type%20%E5%B1%9E%E6%80%A7%E5%80%BC%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%E5%85%B6%E5%86%99%E5%9B%9E%E5%88%B0%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackageJson%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5CnpackageJson.type%26nbsp%3B%3D%26nbsp%3BselectedModuleSystem%3B%5Cnawait%26nbsp%3BwritePackageJson(targetDirectory%2C%26nbsp%3BpackageJson)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%8F%90%E7%A4%BA%EF%BC%9A%E5%BD%93%E4%BD%A0%E7%94%A8--yes%20%E6%A0%87%E5%BF%97%E8%BF%90%E8%A1%8C%20npm%20init%20%E6%97%B6%EF%BC%8C%E8%A6%81%E6%83%B3%E5%9C%A8%20package.json%20%E4%B8%AD%E8%8E%B7%E5%BE%97%E5%90%88%E7%90%86%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%EF%BC%8C%E8%AF%B7%E7%A1%AE%E4%BF%9D%E4%BD%A0%E8%AE%BE%E7%BD%AE%E4%BA%86%20npminit-*%E7%9A%84%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DX0aVKO8sVtj0bgZhFmgjVw%253D%253D.hxYbJxX5X2odlcPpk5MdIVLkT7ESAsFMhFnFSRBftI2c2BjNTUCtV1gwdXnpxWGI%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E9%A1%B9%E7%9B%AE%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E4%BD%BF%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E5%90%8E%E8%83%BD%E5%A4%9F%E8%BD%BB%E6%9D%BE%E5%9C%B0%E5%BC%80%E5%A7%8B%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForPackages%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E5%93%AA%E4%BA%9B%20npm%20%E5%8C%85%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForPackages()%26nbsp%3B%7B%5Cnlet%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3BWhich%26nbsp%3Bnpm%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Binstall%26nbsp%3Bfor%26nbsp%3Bthis%26nbsp%3Bproject%3F%26nbsp%3B%26%2334%3B%5Cn)%3B%5CnpackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall%5Cn%26nbsp%3B%26nbsp%3B.trim()%5Cn%26nbsp%3B%26nbsp%3B.split(%26%2334%3B%26nbsp%3B%26%2334%3B)%5Cn%26nbsp%3B%26nbsp%3B.filter((pkg)%26nbsp%3B%3D%26gt%3B%26nbsp%3Bpkg)%3B%5Cnreturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E9%98%B2%E6%AD%A2%E6%88%91%E4%BB%AC%E5%9C%A8%E8%BE%93%E5%85%A5%E5%8C%85%E5%90%8D%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E5%88%AB%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20identifyInvalidNpmPackages%20%E5%87%BD%E6%95%B0%E3%80%82%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E5%B0%86%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%20npm%20%E5%8C%85%E5%90%8D%E6%95%B0%E7%BB%84%EF%BC%8C%E7%84%B6%E5%90%8E%E8%BF%90%E8%A1%8C%20npm%20view%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E6%9F%A5%E5%AE%83%E4%BB%AC%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BidentifyInvalidNpmPackages(packages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3B%5B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(const%26nbsp%3Bpkg%26nbsp%3Bof%26nbsp%3Bpackages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Bview%26nbsp%3B%24%7Bpkg%7D%60%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BinvalidPackages.push(pkg)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BinvalidPackages%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getPackagesToInstall%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E5%88%9A%E5%88%9A%E5%88%9B%E5%BB%BA%E7%9A%84%E4%B8%A4%E4%B8%AA%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetPackagesToInstall()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForPackages()%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BidentifyInvalidNpmPackages(packagesToInstall)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BallPackagesExist%26nbsp%3B%3D%26nbsp%3BinvalidPackages.length%26nbsp%3B%3D%3D%3D%26nbsp%3B0%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!allPackagesExist)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BThe%26nbsp%3Bfollowing%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Bnot%26nbsp%3Bexist%26nbsp%3Bon%26nbsp%3Bnpm%3A%26nbsp%3B%24%7BinvalidPackages.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%2C%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%9C%89%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%90%8D%E7%A7%B0%E4%B8%8D%E6%AD%A3%E7%A1%AE%EF%BC%8C%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E6%97%A6%E6%88%91%E4%BB%AC%E5%BE%97%E5%88%B0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E6%9C%89%E6%95%88%E5%8C%85%E5%88%97%E8%A1%A8%EF%BC%8C%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20npm%20install%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E5%AE%89%E8%A3%85%E5%AE%83%E4%BB%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cnconst%26nbsp%3BhavePackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall.length%26nbsp%3B%26gt%3B%26nbsp%3B0%3B%5Cnif%26nbsp%3B(havePackagesToInstall)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Binstall%26nbsp%3B%24%7BpackagesToInstall%7D%60%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E4%B8%BA%E5%B7%A5%E5%85%B7%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE%E6%98%AF%E6%88%91%E4%BB%AC%E7%94%A8%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E7%9A%84%E6%9C%80%E4%BD%B3%E4%BA%8B%E9%A1%B9%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA.gitignore%20%E6%96%87%E4%BB%B6%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E6%84%8F%E5%A4%96%E5%9C%B0%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E5%9C%A8%20Git%20%E4%BB%93%E5%BA%93%E4%B8%AD%E5%87%BA%E7%8E%B0%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bgitignore%26nbsp%3Bnode%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8%20gitignore%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DV%252FIoxipE2WxmNECDRNKMqg%253D%253D.7Y4d34n%252BoUVlJkYEiJt3NLa9RHn2pYtKq%252BHpO67HIQjfjKAHIxcMynZzTudktHaV%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E5%8C%85%EF%BC%8C%E4%BB%8E%20GitHub%20%E7%9A%84%20gitignore%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3E%20https%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DSzh56TKqT6gYmrJidM7ZXg%253D%253D.BK7Vf5F73GaplJKeN48OsobM6U4EPriatZOr3dBhsSVZIuIUiktyqfS1jhLLtQ7o%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E6%A8%A1%E6%9D%BF%E4%B8%AD%E6%8B%89%E5%8F%96%20Node.js%20%E7%9A%84.gitignore%20%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E7%9A%84%20EditorConfig%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DdGD5%252BEyCTqLfqDSif7%252FHgQ%253D%253D.xgNWBjR6m%252FIUFlG1UmM3CYX2R%252BLXFN531lZhlvCRRWs%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%81Prettier%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3Dn7clHFqLMZZala0zu1JjdQ%253D%253D.jivAg4cL8HkSAhuurMUHrlfhGGILOpveTQR0rjCRXyg%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%92%8C%20ESLint%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DJ4jXEAmmBQ83%252FWSrOtTsAQ%253D%253D.b%252FKC0kT%252FZWZQ9KBItXDMQHWJBzc5aW9hUZsxWHBsMY4%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E4%B8%80%E4%B8%AA%E5%8F%AB%E5%81%9A%20Mrm%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E7%9A%84%20mrm%20%E4%BE%9D%E8%B5%96%E9%A1%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--global%26nbsp%3Bmrm%26nbsp%3Bmrm-task-editorconfig%26nbsp%3Bmrm-task-prettier%26nbsp%3Bmrm-task-eslint%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%B7%BB%E5%8A%A0%20mrm%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beditorconfig%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Bprettier%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beslint%60%3B%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EMrm%20%E8%B4%9F%E8%B4%A3%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%E3%80%82%E5%AE%83%E8%BF%98%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E7%94%9F%E6%88%90%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BB%A5%E7%AC%A6%E5%90%88%E6%88%91%E4%BB%AC%E7%9A%84%E4%B8%AA%E4%BA%BA%E5%81%8F%E5%A5%BD%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20README%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E7%9A%84%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%E8%AF%BB%E5%8F%96%E9%A1%B9%E7%9B%AE%E5%90%8D%E7%A7%B0%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA%E5%9F%BA%E6%9C%AC%E7%9A%84%20Markdown%20%E6%A0%BC%E5%BC%8F%E7%9A%84%20README%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E5%86%99%E5%85%A5%20README.md%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3B%7B%26nbsp%3Bname%3A%26nbsp%3BprojectName%26nbsp%3B%7D%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BreadmeContents%26nbsp%3B%3D%26nbsp%3B%60%23%26nbsp%3B%24%7BprojectName%7D%5Cn...%5Cn%60%3B%5Cnawait%26nbsp%3Bfs.writeFile(%60%24%7BtargetDirectory%7D%2FREADME.md%60%2C%26nbsp%3BreadmeContents)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%9A%B4%E9%9C%B2%E7%9A%84%20fs.writeFile%20%E7%9A%84%20promise%20%E5%8F%98%E9%87%8F%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%8F%90%E4%BA%A4%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%80%E5%90%8E%EF%BC%8C%E6%98%AF%E6%97%B6%E5%80%99%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E7%94%A8%20git%20%E5%88%9B%E5%BB%BA%E7%9A%84%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%E4%BA%86%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Badd%26nbsp%3B.%60%3B%5Cnawait%26nbsp%3B%24%60git%26nbsp%3Bcommit%26nbsp%3B-m%26nbsp%3B%26%2334%3BAdd%26nbsp%3Bproject%26nbsp%3Bskeleton%26%2334%3B%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E6%9D%A1%E6%B6%88%E6%81%AF%EF%BC%8C%E7%A1%AE%E8%AE%A4%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B7%B2%E7%BB%8F%E6%88%90%E5%8A%9F%E5%90%AF%E5%8A%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econsole.log(%5Cn%26nbsp%3B%26nbsp%3Bchalk.green(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60%5C%5Cn%E2%9C%94%EF%B8%8F%26nbsp%3BThe%26nbsp%3Bproject%26nbsp%3B%24%7BprojectName%7D%26nbsp%3Bhas%26nbsp%3Bbeen%26nbsp%3Bsuccessfully%26nbsp%3Bbootstrapped!%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B)%5Cn)%3B%5Cnconsole.log(chalk.green(%60Add%26nbsp%3Ba%26nbsp%3Bgit%26nbsp%3Bremote%26nbsp%3Band%26nbsp%3Bpush%26nbsp%3Byour%26nbsp%3Bchanges.%60))%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%90%AF%E5%8A%A8%E6%96%B0%E9%A1%B9%E7%9B%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bnew-project%5Cn.%2Fbootstrap-tool.mjs%26nbsp%3B--directory%26nbsp%3Bnew-project%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%B9%B6%E8%A7%82%E7%9C%8B%E6%88%91%E4%BB%AC%E6%89%80%E5%81%9A%E7%9A%84%E4%B8%80%E5%88%87%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%80%BB%E7%BB%93%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E5%A6%82%E4%BD%95%E5%9C%A8%20Node.js%20%E4%B8%AD%E5%80%9F%E5%8A%A9%20Google%20%E7%9A%84%20zx%20%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E5%BC%BA%E5%A4%A7%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E4%BA%86%E5%AE%83%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%92%8C%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%81%B5%E6%B4%BB%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%B0%E7%9B%AE%E5%89%8D%E4%B8%BA%E6%AD%A2%EF%BC%8C%E6%88%91%E4%BB%AC%E6%89%80%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%8F%AA%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BC%80%E5%A7%8B%E3%80%82%E8%BF%99%E9%87%8C%E6%9C%89%E4%B8%80%E4%BA%9B%E5%8A%9F%E8%83%BD%E7%82%B9%E5%AD%90%EF%BC%8C%E4%BD%A0%E5%8F%AF%E8%83%BD%E6%83%B3%E5%B0%9D%E8%AF%95%E8%87%AA%E5%B7%B1%E6%B7%BB%E5%8A%A0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E3%80%82%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E8%BF%98%E4%B8%8D%E5%AD%98%E5%9C%A8%EF%BC%8C%E5%88%99%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E5%B9%B6%E8%AF%A2%E9%97%AE%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E6%83%B3%E8%A6%81%E4%B8%BA%E4%BB%96%E4%BB%AC%E5%88%9B%E5%BB%BA%E8%AF%A5%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BC%80%E6%BA%90%E5%8D%AB%E7%94%9F%E3%80%82%E9%97%AE%E9%97%AE%E7%94%A8%E6%88%B7%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E5%9C%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B0%86%E6%98%AF%E5%BC%80%E6%BA%90%E7%9A%84%E9%A1%B9%E7%9B%AE%E3%80%82%E5%A6%82%E6%9E%9C%E6%98%AF%E7%9A%84%E8%AF%9D%EF%BC%8C%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E8%AE%B8%E5%8F%AF%E8%AF%81%E5%92%8C%E8%B4%A1%E7%8C%AE%E8%80%85%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%20GitHub%20%E4%B8%8A%E7%9A%84%E4%BB%93%E5%BA%93%E3%80%82%E6%B7%BB%E5%8A%A0%E4%BD%BF%E7%94%A8%20GitHub%20CLI%20%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%9C%A8%20GitHub%20%E4%B8%8A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E3%80%82%E4%B8%80%E6%97%A6%E7%94%A8%20Git%20%E6%8F%90%E4%BA%A4%E4%BA%86%E5%88%9D%E5%A7%8B%E9%AA%A8%E6%9E%B6%EF%BC%8C%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E6%8E%A8%E9%80%81%E5%88%B0%E8%BF%99%E4%B8%AA%E4%BB%93%E5%BA%93%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E5%9C%A8%20GitHub%20%E4%B8%8A%E6%89%BE%E5%88%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E8%AF%91%E8%87%AA%EF%BC%9A%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5Z%252ByLQNgua%252FY5gnguxXllg%253D%253D.SeNINYETng%252BH6uZupDjhsYNRqM5GWB5jXVDlvMdMqsO9u3CmWfwe8DwT48iAvK%252Fsm8pflQ8jbxHc1sB281%252B6pA%253D%253D%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%9C%E8%80%85%EF%BC%9A%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3ESimon%20Plenderleith%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BB%A5%E4%B8%8A%E5%B0%B1%E6%98%AF%E6%9C%AC%E6%96%87%E7%9A%84%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9%E3%80%82%E5%A6%82%E6%9E%9C%E5%AF%B9%E4%BD%A0%E6%9C%89%E6%89%80%E5%B8%AE%E5%8A%A9%EF%BC%8C%E6%AC%A2%E8%BF%8E%E7%82%B9%E8%B5%9E%E3%80%81%E6%94%B6%E8%97%8F%E3%80%81%E8%BD%AC%E5%8F%91~%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Chr%3E%22%2C%22imageList%22%3A%5B%5D%2C%22mediaInfo%22%3A%7B%22userId%22%3A%22MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH%22%2C%22unsafeUserId%22%3A%224288553596503552%22%2C%22name%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22avatarUrl%22%3A%22https%3A%2F%2Fsf3-cdn-tos.toutiaostatic.com%2Fimg%2Fuser-avatar%2Fc14bb151d3505084033c82ee8238acde~300x300.image%22%2C%22description%22%3A%22%E6%AC%A2%E8%BF%8E%E5%85%B3%E6%B3%A8VX%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22userVerified%22%3A1%7D%2C%22seoTDK%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC-%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1%22%2C%22description%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22keywords%22%3A%22%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%2CNode.js%2CGoogle%2CJavaScript%2CBash%2CTypeScript%2CZsh%2CGitHub%2C%E7%BE%8E%E5%A5%BD%EF%BC%8C%E4%B8%80%E7%9B%B4%E5%9C%A8%E8%BA%AB%E8%BE%B9%22%2C%22publishTimestamp%22%3A%221678237205%22%2C%22modifiedTimestamp%22%3A%221685548306%22%7D%2C%22cover%22%3A%22https%3A%2F%2Fp3-sign.toutiaoimg.com%2Flarge%2Ftos-cn-i-qvj2lq49k0%2F7894dd4439eb4e78ad35208f496e841a%3F_iz%3D58558%26from%3Darticle.pc_detail%26x-expires%3D1690103402%26x-signature%3D5z%252FNWR2V4o%252B5W0fhczXkGuaSyYE%253D%22%2C%22logId%22%3A%222023071617100290B65219A60FE2C10ABA%22%2C%22sylpageConfig%22%3A%7B%22card%22%3A%7B%22id%22%3A%22%22%7D%7D%2C%22identity%22%3A%7B%22web_id%22%3A%227235169635611018810%22%2C%22user_is_login%22%3Afalse%7D%2C%22abtestInfo%22%3A%7B%22rsp_type%22%3A5%2C%22version_name%22%3A%224938400%22%2C%22parameters%22%3A%7B%22filter%22%3A%7B%22debug_enable_pc_small_video%22%3Afalse%2C%22enable_pc_small_video%22%3Atrue%7D%2C%22home_nav_conf%22%3A%7B%22dcd_out%22%3A1%7D%2C%22optimus%22%3A%7B%22rule_rank_rules%22%3A%22ranking_rule_list%20%7B%5Cn%20%20id%3A%201221233%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2212123%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%202%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%2020458%5Cn%20%20priority%3A%203%5Cn%20%20enabled%3A%20true%5Cn%20%20category%3A%2020458%5Cn%20%20type%3A%20WINDOW%5Cn%20%20window_rule%20%7B%5Cn%20%20%20%20type%3A%20SLIDE%5Cn%20%20%20%20size%3A%203%5Cn%20%20%20%20max%3A%201%5Cn%20%20%7D%5Cn%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%201111024%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2211024%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%206%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%22%7D%2C%22page_upgrade%22%3A%7B%22new_profile%22%3Atrue%2C%22video_double_column%22%3Atrue%7D%2C%22recall%22%3A%7B%22debug_filter_reason_list%22%3A%5B%5D%2C%22debug_recall_reason_list%22%3A%5B70%2C71%2C72%2C73%2C80%2C83%5D%2C%22enable_debug_filter_reason%22%3Atrue%2C%22enable_debug_recall_reason%22%3Atrue%2C%22friend_feed%22%3A%7B%22control_nums%22%3A1500%2C%22count%22%3A1000%2C%22enable%22%3Atrue%2C%22enable_cpp_friend_feed%22%3Atrue%2C%22enable_friend_feed_container_filter%22%3Atrue%2C%22enable_group_status_filter%22%3Atrue%2C%22params%22%3A%7B%7D%2C%22top_k%22%3A10%2C%22use_new_friend_recall%22%3Atrue%2C%22valid_group_source%22%3A%5B2%2C5%2C15%2C23%2C16%2C19%2C21%2C132%5D%2C%22weight%22%3A20%7D%7D%2C%22seraph%22%3A%7B%22rule_rank_rules_pc_small%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20%20%20%20%20%20id%3A%2022124%20%5Cn%20%20%20%20%20%20%20%20%20priority%3A%200%20%5Cn%20%20%20%20%20%20%20%20%20tags%3A%20%5C%2222124%5C%22%20%5Cn%20%20%20%20%20%20%20%20%20enabled%3A%20true%20%5Cn%20%20%20%20%20%20%20%20%20type%3A%20CARD%20%5Cn%20%20%20%20%20%20%20%20%20card_rule%20%7B%20%5Cn%20%20%20%20%20%20%20%20%20size%3A%206%20%5Cn%20%20%20%20%20%20%20%20%20num_cards%3A%201%5Cn%20%20%20%20%20%20%20%20%20type%3A%20SAME_SLOT%20%5Cn%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%22%2C%22rule_rank_rules_pc_small_window%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20id%3A%20222124%5Cn%20%20%20priority%3A%200%5Cn%20%20%20tags%3A%20%5C%2222124%5C%22%5Cn%20%20%20%20enabled%3A%20false%5Cn%20%20%20%20type%3A%20WINDOW%5Cn%20%20%20%20window_rule%20%7B%5Cn%20%20%20type%3A%20SLIDE%20%5Cn%20%20%20size%3A%2012%20%5Cn%20%20%20max%3A%206%20%5Cn%20%20%20%7D%5Cn%20%20%20%7D%22%7D%2C%22small_sort%22%3A%7B%22enable_filter_zhanwai%22%3Atrue%2C%22filter_genre_plog%22%3Afalse%2C%22filter_genre_small%22%3Afalse%2C%22skip_small_app_version_filter%22%3Afalse%2C%22skip_small_genre_filter%22%3Afalse%7D%2C%22sort%22%3A%7B%22allowed_ticai%22%3A%5B%22forum_post%22%2C%22pgc_text%22%2C%22pgc_video%22%2C%22short_video%22%5D%2C%22enable_optimus_gen_pc_mv_card%22%3Atrue%2C%22enable_optimus_gen_pc_sv_card%22%3Atrue%2C%22enable_pc_skip_app_smallvideo_card%22%3Atrue%7D%2C%22ugc_sort%22%3A%7B%22expore_smallvideo%22%3Atrue%7D%2C%22video_channel%22%3A%7B%22use_feed%22%3A1%2C%22rank%22%3A5%7D%7D%2C%22env_flag%22%3A0%7D%2C%22localCityInfo%22%3A%7B%22name%22%3A%22%E8%A5%84%E9%98%B3%22%2C%22code%22%3A%22420600%22%2C%22channelId%22%3A3202181326%7D%2C%22voteLink%22%3A%5B%7B%22keyword%22%3A%22%E6%9C%AB%E4%B8%96%E9%87%8D%E7%94%9F%EF%BC%8C%E6%88%91%E6%8A%A2%E4%BA%86%E5%A5%B3%E4%B8%BB%E7%9A%84%E9%87%91%E6%89%8B%E6%8C%87%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7045105728742231079%22%7D%2C%7B%22keyword%22%3A%22%E4%BA%BA%E5%9C%A8%E6%B5%B7%E8%B4%BC%3A%E6%88%91%E6%88%90%E4%B8%BA%E4%BA%86%E6%B5%B7%E5%86%9B%E5%A5%B3%E7%8E%8B%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7070145477789879300%22%7D%2C%7B%22keyword%22%3A%22%E6%B2%A1%E7%9E%8E%E7%9C%BC%E4%B8%89%E5%B9%B4%EF%BC%8C%E4%BD%86%E6%88%91%E7%9A%84%E5%AD%A6%E7%94%9F%E4%B8%8D%E6%98%AF%E4%BA%BA%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7118385133568134175%22%7D%2C%7B%22keyword%22%3A%22%E7%9C%9F%E5%8D%83%E9%87%91%E4%BB%8E%E4%BF%AE%E7%9C%9F%E7%95%8C%E5%9B%9E%E6%9D%A5%E4%BA%86%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F6983183491827502094%22%7D%2C%7B%22keyword%22%3A%22%E5%BC%82%E4%B8%96%E7%9B%B8%E9%81%87%E5%B0%BD%E4%BA%AB%E7%A4%BE%E6%AD%BB%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F583844%22%7D%2C%7B%22keyword%22%3A%22python%20ols%E5%9B%9E%E5%BD%92%E5%88%86%E6%9E%90%E7%BB%93%E6%9E%9C%E6%80%8E%E4%B9%88%E7%9C%8B%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131680%22%7D%2C%7B%22keyword%22%3A%22%E7%A5%9E%E5%A5%87%E5%AE%9D%E8%B4%9D%E4%B9%8B%E5%85%A8%E8%83%BD%E6%8E%8C%E9%97%A8%E4%BA%BA%E8%87%B4%E5%85%89%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F738595%22%7D%2C%7B%22keyword%22%3A%22%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3java8%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131722%22%7D%2C%7B%22keyword%22%3A%22linux%20mysql%20%E6%97%A5%E5%BF%97%E6%B8%85%E7%90%86%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1182964%22%7D%2C%7B%22keyword%22%3A%22%E6%88%91%E5%9C%A8%E5%AE%9D%E5%8F%AF%E6%A2%A6%E4%B8%96%E7%95%8C%E6%88%90%E4%B8%BA%E7%AC%AC%E4%B8%80%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F188604%22%7D%5D%2C%22grSensitive%22%3Afalse%2C%22showResearch%22%3Afalse%2C%22blockVisibility%22%3A%7B%22hotBoard%22%3Atrue%2C%22hotVideo%22%3Atrue%2C%22relatedRecommend%22%3Atrue%7D%2C%22isGreyTheme%22%3Afalse%2C%22searchBot%22%3Anull%7D%7D
gitinit`;
生成 package.json
每个 Node.js 项目都需要 package.json 文件。这是我们为项目定义元数据的地方,指定项目所依赖的包,以及添加实用的脚本。
在我们为项目生成 package.json 文件之前,我们要创建几个辅助函数。第一个是 readPackageJson 函数,它将从项目目录中读取 package.json 文件:
asyncfunctionreadPackageJson(directory){
constpackageJsonFilepath=`${directory}/package.json`;
returnawaitfs.readJSON(packageJsonFilepath);
}
然后我们将创建一个 writePackageJson 函数,我们可以用它来向项目的 package.json 文件写入更改:
asyncfunctionwritePackageJson(directory,contents){
constpackageJsonFilepath=`${directory}/package.json`;
awaitfs.writeJSON(packageJsonFilepath,contents,{spaces:2});
}
我们在上面的函数中使用的 fs.readJSON 和 fs.writeJSON 方法是由 fs-extra 库提供的。
在定义了 package.json 辅助函数后,我们可以开始考虑 package.json 文件的内容。
Node.js 支持两种模块类型:
- CommonJS Modules (CJS)。 https://link.segmentfault.com/?enc=KTweLvts6a1zOlUbn0cnCA%3D%3D.WRSoJ3t37Y2GYjanjStt81N%2BkCOGoR11gK8pv6Fck09uaKTSXHq5mvMcWutIRxYU 使用 module.exports 来导出函数和对象,在另一个模块中使用 require()加载它们。
- ECMAScript Modules (ESM)。 https://link.segmentfault.com/?enc=OUbF%2BkjeOpAlt3Fo9PFGFw%3D%3D.Ex%2BQVnop7rVNKtYxrnp%2Fhcm08eFRE7K2XLUBlFFQ7D4%3D 使用 export 来导出函数和对象,在另一个模块中使用 import 加载它们。
Node.js 生态系统正在逐步采用 ES 模块,这在客户端 JavaScript 中是很常见的。当事情处于过渡阶段时,我们需要决定我们的 Node.js 项目默认使用 CJS 模块还是 ESM 模块。让我们创建一个 promptForModuleSystem 函数,询问这个新项目应该使用哪种模块类型:
asyncfunctionpromptForModuleSystem(moduleSystems){
constmoduleSystem=awaitquestion(
`WhichNode.jsmodulesystemdoyouwanttouse?(${moduleSystems.join(
"or"
)})`,
{
choices:moduleSystems,
}
);
returnmoduleSystem;
}
上面函数使用的 question 函数由 zx 提供。
现在我们将创建一个 getNodeModuleSystem 函数,以调用 promptForModuleSystem 函数。它将检查所输入的值是否有效。如果不是,它将再次询问:
asyncfunctiongetNodeModuleSystem(){
constmoduleSystems=["module","commonjs"];
constselectedModuleSystem=awaitpromptForModuleSystem(moduleSystems);
constisValidModuleSystem=moduleSystems.includes(selectedModuleSystem);
if(!isValidModuleSystem){
console.error(
chalk.red(
`Error:Modulesystemmustbeeither'${moduleSystems.join(
"'or'"
)}'\n`
)
);
returnawaitgetNodeModuleSystem();
}
returnselectedModuleSystem;
}
现在我们可以通过运行 npm init 命令生成我们项目的 package.json 文件:
await
社区精选|如何使用 zx 编写 shell 脚本-*今条头日**
{"@context":"https://schema.org","@type":"NewsArticle","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.toutiao.com/article/7207743318715793920/"},"headline":"社区精选|如何使用 zx 编写 shell 脚本","description":"在这篇文章中,我们将学习谷歌的 zx 库提供了什么,以及我们如何使用它来用 Node.js 编写 shell 脚本。","image":[],"datePublished":"2023-03-08T01:00:05.000Z","dateModified":"2023-05-31T15:51:46.000Z","author":{"@type":"Person","name":"计算科学与信息化","url":"https://www.toutiao.com/c/user/token/MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH/"},"publisher":{"@type":"Organization","name":"*今条头日**","logo":{"@type":"ImageObject","url":"https://lf3-static.bytednsdoc.com/obj/eden-cn/uhbfnupkbps/216.png"}}}
!function(r,e,t,n,s,a,o,i,c,l,d,p,m,f){a="precollect",o="getAttribute",i="addEventListener",(l=function(e){(d=[].slice.call(arguments)).push(Date.now(),location.href),(e==a?l.p.a:l.q).push(d)}).q=[],l.p={a:[]},r[s]=l,(p=document.createElement("script")).src=t+"?bid=toutiao_web_pc&globalName="+s,p.crossOrigin=0
window.Slardar&&window.Slardar("init",{bid:"toutiao_web_pc",pid:"news_article_detail",release:"1.0.0.1822",env:"online",sample:{sample_rate:1},plugins:{ajax:{ignoreUrls:["mcs.snssdk.com","mcs.zijieapi.com","i.snssdk.com","verify.snssdk.com","vcs.snssdk.com","mon.zijieapi.com","mon.snssdk.com"]},pageview:{routeMode:"manual"},blankScreen:{rootSelector:"#root"}}})
!function(n,t){if(n.LogAnalyticsObject=t,!n[t]){function c(){c.q.push(arguments)}c.q=c.q||[],n[t]=c}n[t].l=+new Date}(window,"collectEvent")
window.collectEvent("usePlugin","autotrack"),window.collectEvent("usePlugin","stay"),window.collectEvent("init",{app_id:24,channel:"cn",autotrack:{custom:"tea",text:!0},enable_stay_duration:!0}),window.collectEvent("config",{evtParams:{url:window.location.href,screen_width:window.screen.width,screen_height:window.screen.height,screen_inner_width:window.innerWidth,screen_inner_height:window.innerHeight}})
window.byted_acrawler&&window.byted_acrawler.init({aid:24,dfp:!0})
window.TTGCaptcha&&window.TTGCaptcha.init({commonOptions:{aid:24,iid:"0",did:"0"}})
window.secsdk&&window.secsdk.csrf.setProtectedHost({"www.toutiao.com":{GET:[],POST:[/^\/api\/pc\/user\/fans_digg/,/^\/api\/pc\/user\/delete/,/^\/api\/pc\/user\/follow/,/^\/c\/ugc\/content\/repost/,/^\/group\/repin/,/^\/group\/unrepin/,/^\/api\/pc\/user\/stick/,/^\/api\/pc\/user\/unstick/,/^\/c\/user\/unfollow/,/^\/wenda\/v5\/interact\/followanswer/,/^\/wenda\/v5\/interact\/followquestion/,/^\/wenda\/v5\/interact\/digganswer/,/^\/wenda\/v5\/interact\/deleteanswer/,/^\/user_data\/batch_action/],PUT:[],PATCH:[],DELETE:[]}})
"undefined"!=typeof window&&"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("/sw.js").catch(function(e){window.Slardar&&window.Slardar("emit","counter",{name:"sw-register-error",value:1})})})
function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-QEHZPBE5HH")
%7B%22data%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%22%2C%22abstract%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22articleType%22%3A%22article%22%2C%22itemId%22%3A%227207743318715793920%22%2C%22groupId%22%3A%227207743318715793920%22%2C%22groupSource%22%3A2%2C%22isOriginal%22%3Afalse%2C%22banComment%22%3Afalse%2C%22publishTime%22%3A%222023-03-08%2009%3A00%22%2C%22source%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22tag%22%3A%22technique%22%2C%22mediaSite%22%3Anull%2C%22pathname%22%3A%22%2Farticle%2F7207743318715793920%2F%22%2C%22useCandle%22%3Afalse%2C%22isExclusive%22%3Afalse%2C%22favorite%22%3Afalse%2C%22relation%22%3A%7B%22isFollowing%22%3Afalse%2C%22isFollowed%22%3Afalse%7D%2C%22likeData%22%3A%7B%22userLikeStatus%22%3A0%2C%22count%22%3A1%7D%2C%22isSelf%22%3Afalse%2C%22content%22%3A%22%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%89%8D%E8%A8%80%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E6%9D%A5%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E5%BC%95%E5%AF%BC%E9%85%8D%E7%BD%AE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E7%BC%96%E5%86%99%20Shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E9%97%AE%E9%A2%98%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%94%B1%20Bash%20%E6%88%96%E8%80%85%20zsh%20%E6%89%A7%E8%A1%8C%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%98%AF%E8%87%AA%E5%8A%A8%E5%8C%96%E9%87%8D%E5%A4%8D%E4%BB%BB%E5%8A%A1%E7%9A%84%E5%A5%BD%E6%96%B9%E6%B3%95%E3%80%82Node.js%20%E4%BC%BC%E4%B9%8E%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E7%90%86%E6%83%B3%E9%80%89%E6%8B%A9%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E8%AE%B8%E5%A4%9A%E6%A0%B8%E5%BF%83%E6%A8%A1%E5%9D%97%EF%BC%8C%E5%B9%B6%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E5%AF%BC%E5%85%A5%E4%BB%BB%E4%BD%95%E6%88%91%E4%BB%AC%E9%80%89%E6%8B%A9%E7%9A%84%E5%BA%93%E3%80%82%E5%AE%83%E8%BF%98%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%AE%BF%E9%97%AE%20JavaScript%20%E6%8F%90%E4%BE%9B%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E5%92%8C%E5%86%85%E7%BD%AE%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E4%BD%A0%E5%B0%9D%E8%AF%95%E7%BC%96%E5%86%99%E8%BF%90%E8%A1%8C%E5%9C%A8%20Node.js%20%E4%B8%AD%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E4%BD%A0%E4%BC%9A%E5%8F%91%E7%8E%B0%E8%BF%99%E6%B2%A1%E6%9C%89%E4%BD%A0%E6%83%B3%E8%B1%A1%E4%B8%AD%E7%9A%84%E9%82%A3%E4%B9%88%E9%A1%BA%E5%88%A9%E3%80%82%E4%BD%A0%E9%9C%80%E8%A6%81%E4%B8%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%BC%96%E5%86%99%E7%89%B9%E6%AE%8A%E7%9A%84%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%EF%BC%8C%E6%B3%A8%E6%84%8F%E8%BD%AC%E4%B9%89%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%EF%BC%8C%E7%84%B6%E5%90%8E%E6%9C%80%E7%BB%88%E4%B8%8E%20stdout%EF%BC%88%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%89%E5%92%8C%20stderr%EF%BC%88%E6%A0%87%E5%87%86%E9%94%99%E8%AF%AF%EF%BC%89%E6%89%93%E4%BA%A4%E9%81%93%E3%80%82%E8%BF%99%E4%B8%8D%E6%98%AF%E7%89%B9%E5%88%AB%E7%9B%B4%E8%A7%82%EF%BC%8C%E8%80%8C%E4%B8%94%E4%BC%9A%E4%BD%BF%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E7%9B%B8%E5%BD%93%E7%AC%A8%E6%8B%99%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EBash%20shell%20%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E6%99%AE%E9%81%8D%E9%80%89%E6%8B%A9%E3%80%82%E4%B8%8D%E9%9C%80%E8%A6%81%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%E6%9D%A5%E5%A4%84%E7%90%86%E5%AD%90%E8%BF%9B%E7%A8%8B%EF%BC%8C%E8%80%8C%E4%B8%94%E5%AE%83%E6%9C%89%E5%86%85%E7%BD%AE%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E6%9D%A5%E5%A4%84%E7%90%86%20stdout%20%E5%92%8C%20stderr%E3%80%82%E4%BD%86%E6%98%AF%E7%94%A8%20Bash%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E4%B9%9F%E4%B8%8D%E6%98%AF%E9%82%A3%E4%B9%88%E5%AE%B9%E6%98%93%E3%80%82%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9B%B8%E5%BD%93%E6%B7%B7%E4%B9%B1%EF%BC%8C%E4%BD%BF%E5%BE%97%E5%AE%83%E5%AE%9E%E7%8E%B0%E9%80%BB%E8%BE%91%EF%BC%8C%E6%88%96%E8%80%85%E5%A4%84%E7%90%86%E8%AF%B8%E5%A6%82%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E7%9A%84%E4%BA%8B%E6%83%85%E9%9D%9E%E5%B8%B8%E5%9B%B0%E9%9A%BE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%9C%89%E5%8A%A9%E4%BA%8E%E8%AE%A9%E4%BD%BF%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E9%AB%98%E6%95%88%E5%92%8C%E8%88%92%E9%80%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BE%80%E4%B8%8B%E9%98%85%E8%AF%BB%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%E9%9C%80%E8%A6%81%E9%81%B5%E5%BE%AA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%90%86%E6%83%B3%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E4%BD%A0%E5%BA%94%E8%AF%A5%E7%86%9F%E6%82%89%20JavaScript%20%E5%92%8C%20Node.js%20%E7%9A%84%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E9%80%82%E5%BA%94%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20Node.js%20%26gt%3B%3D%20v14.13.1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cbr%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E4%BB%8E%20GitHub%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DysCUhsc%252BhqUmtqCo55t8jw%253D%253D.aWhjUaPje6eTlkcFFdhW%252FeIVYyAz5G%252FoPbGuXjsxlpcJphMKguwz3NoHWQ9o2vDb47Nfnm9kpIP6Ol5r6Euc8A%253D%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E8%8E%B7%E5%BE%97%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E8%BF%90%E4%BD%9C%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EGoogle%20%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%88%9B%E5%BB%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%A4%84%E7%90%86%E8%BF%99%E4%BA%9B%E8%BF%9B%E7%A8%8B%E7%9A%84%20stdout%20%E5%92%8C%20stderr%20%E7%9A%84%E5%87%BD%E6%95%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E7%9A%84%E4%B8%BB%E8%A6%81%E5%87%BD%E6%95%B0%E6%98%AF%24%E5%87%BD%E6%95%B0%E3%80%82%E4%B8%8B%E9%9D%A2%E6%98%AF%E5%AE%83%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AE%9E%E9%99%85%E4%BE%8B%E5%AD%90%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnawait%26nbsp%3B%24%60ls%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E6%89%A7%E8%A1%8C%E4%B8%8A%E8%BF%B0%E4%BB%A3%E7%A0%81%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnbootstrap-tool%5Cnhello-world%5Cnnode_modules%5Cnpackage.json%5CnREADME.md%5Cntypescript%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%E7%9A%84%20JavaScript%20%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9C%8B%E8%B5%B7%E6%9D%A5%E6%9C%89%E7%82%B9%E5%8F%A4%E6%80%AA%E3%80%82%E5%AE%83%E4%BD%BF%E7%94%A8%E4%BA%86%E4%B8%80%E7%A7%8D%E5%8F%AB%E5%81%9A%E5%B8%A6%E6%A0%87%E7%AD%BE%E7%9A%84%E6%A8%A1%E6%9D%BF%E5%AD%97%E7%AC%A6%E4%B8%B2%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DVUkodq5er%252Fynbhfl3MUQZA%253D%253D.%252Flx6oaDCVK4XuYyYLqvDi2QMWjCwW1jKBvNQgfaGG0AVwpl7I2CYD4sJYHuonDSA6jj1qSSypc0aGVO%252BYuBMUiibG6pBkVwusg%252Bai1hbMXetqlwMTWVUEAbtabMCbXIs%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E3%80%82%E5%AE%83%E5%9C%A8%E5%8A%9F%E8%83%BD%E4%B8%8A%E4%B8%8E%E7%BC%96%E5%86%99%20await%20%24(%26%2334%3Bls%26%2334%3B)%E7%9B%B8%E5%90%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%85%B6%E4%BB%96%E5%87%A0%E4%B8%AA%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%EF%BC%8C%E4%BD%BF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E6%9B%B4%E5%AE%B9%E6%98%93%E3%80%82%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ecd()%E3%80%82%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E6%9B%B4%E6%94%B9%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Equestion()%E3%80%82%E8%BF%99%E6%98%AF%20Node.js%20readline%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%8C%85%E8%A3%85%E5%99%A8%E3%80%82%E5%AE%83%E4%BD%BF%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E5%8F%98%E5%BE%97%E7%AE%80%E5%8D%95%E6%98%8E%E4%BA%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%99%A4%E4%BA%86%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%A4%96%EF%BC%8C%E5%AE%83%E8%BF%98%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E5%87%A0%E4%B8%AA%E6%B5%81%E8%A1%8C%E7%9A%84%E5%BA%93%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Echalk%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D%252FL15Y8OQNrp05Scx6N4iaQ%253D%253D.r8AZkfcE1Ye%252BlNUznFA9RNJMhfyM0lttTiD0TmqjJQwoi7zjQjs5YiLjI%252FWDEooY%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%99%E4%B8%AA%E5%BA%93%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E4%B8%BA%E8%84%9A%E6%9C%AC%E7%9A%84%E8%BE%93%E5%87%BA%E6%B7%BB%E5%8A%A0%E9%A2%9C%E8%89%B2%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Eminimist%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5tMQ5d6qJ4STEHZeuiN0MA%253D%253D.x9GPOpXVZp5TGKknZCkwA10QP%252Ftw%252BW7fwnpYGg%252BnlJPJLK3RboT3jqy5WuPLFwPZ%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E4%B8%AA%E8%A7%A3%E6%9E%90%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E7%9A%84%E5%BA%93%E3%80%82%E7%84%B6%E5%90%8E%E5%AE%83%E4%BB%AC%E5%9C%A8%20argv%20%E5%AF%B9%E8%B1%A1%E4%B8%8B%E8%A2%AB%E6%9A%B4%E9%9C%B2%E5%87%BA%E6%9D%A5%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efetch%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D71LC44tCu%252FZoLOY2B7MfuA%253D%253D.GO%252FMi37T0KTmj8UXau9xdFUBiIk1I%252F8M%252FHk2hZYrhRb%252Fd3Vl0bzlr05hanNxzuVb%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EFetch%20API%20%E7%9A%84%20Node.js%20%E5%AE%9E%E7%8E%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E8%BF%9B%E8%A1%8C%20HTTP%20%E8%AF%B7%E6%B1%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efs-extra%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DcPZzXniTRFJdbq87FdwLWw%253D%253D.IsmhSUEjIcZAqw8FDidbUnNhhIVPT1gsFSo%252BchiXCAs9AaxUVT%252FEgbIvswUDVmK2%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%B8%80%E4%B8%AA%E6%9A%B4%E9%9C%B2%20Node.js%20%E6%A0%B8%E5%BF%83%20fs%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%BA%93%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B9%E6%B3%95%EF%BC%8C%E4%BD%BF%E5%85%B6%E6%9B%B4%E5%AE%B9%E6%98%93%E4%B8%8E%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%80%E8%B5%B7%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9F%A5%E9%81%93%E4%BA%86%20zx%20%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E4%BB%80%E4%B9%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E7%94%A8%E5%AE%83%E5%88%9B%E5%BB%BA%E7%AC%AC%E4%B8%80%E4%B8%AA%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bzx-shell-scripts%5Cncd%26nbsp%3Bzx-shell-scripts%5Cnnpm%26nbsp%3Binit%26nbsp%3B--yes%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%AE%89%E8%A3%85%20zx%20%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bzx%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E7%9A%84%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E7%94%A8%20npm%20%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E8%AF%A5%E5%BA%93%E3%80%82%E9%80%9A%E8%BF%87%E5%B0%86%E5%85%B6%E5%AE%89%E8%A3%85%E4%B8%BA%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%A1%AE%E4%BF%9D%20zx%20%E6%80%BB%E6%98%AF%E8%A2%AB%E5%AE%89%E8%A3%85%EF%BC%8C%E5%B9%B6%E6%8E%A7%E5%88%B6%20shell%20%E8%84%9A%E6%9C%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E7%89%88%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A1%B6%E7%BA%A7%20await%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%20Node.js%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E9%A1%B6%E7%BA%A7%20await%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%20await%20%E4%BD%8D%E4%BA%8E%20async%20%E5%87%BD%E6%95%B0%E7%9A%84%E5%A4%96%E9%83%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%9C%A8%20ES%20%E6%A8%A1%E5%9D%97%E7%9A%84%E6%A8%A1%E5%BC%8F%E4%B8%8B%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%EF%BC%8C%E8%AF%A5%E6%A8%A1%E5%BC%8F%E6%94%AF%E6%8C%81%E9%A1%B6%E7%BA%A7%20await%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%20package.json%20%E4%B8%AD%E6%B7%BB%E5%8A%A0%20%26%2334%3Btype%26%2334%3B%3A%20%26%2334%3Bmodule%26%2334%3B%20%E6%80%8E%E4%B9%88%E6%80%8E%E4%B9%88%E6%9D%A5%E8%A1%A8%E6%98%8E%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%A8%A1%E5%9D%97%E9%83%BD%E6%98%AF%20ES%20%E6%A8%A1%E5%9D%97%E3%80%82%E6%88%96%E8%80%85%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%B0%86%E5%8D%95%E4%B8%AA%E8%84%9A%E6%9C%AC%E7%9A%84%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E8%AE%BE%E7%BD%AE%E4%B8%BA%20.mjs%20%E3%80%82%E5%9C%A8%E6%9C%AC%E6%96%87%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20.mjs%20%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E5%B9%B6%E6%8D%95%E8%8E%B7%E8%BE%93%E5%87%BA%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B0%86%E5%85%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world.mjs%20%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%AE%83%E5%91%8A%E8%AF%89%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%88OS%EF%BC%89%E7%9A%84%E5%86%85%E6%A0%B8%E8%A6%81%E7%94%A8%20node%20%E7%A8%8B%E5%BA%8F%E8%BF%90%E8%A1%8C%E8%AF%A5%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%BA%9B%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%BD%BF%E7%94%A8%20zx%20%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8B%E9%9D%A2%E7%9A%84%E4%BB%A3%E7%A0%81%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%20ls%20%E7%A8%8B%E5%BA%8F%E3%80%82ls%20%E7%A8%8B%E5%BA%8F%E5%B0%86%E5%88%97%E5%87%BA%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%88%E8%84%9A%E6%9C%AC%E6%89%80%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%EF%BC%89%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BB%8E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BF%9B%E7%A8%8B%E4%B8%AD%E6%8D%95%E8%8E%B7%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B0%86%E5%85%B6%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E7%84%B6%E5%90%8E%E6%89%93%E5%8D%B0%E5%88%B0%E7%BB%88%E7%AB%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cnconsole.log(output)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E6%8A%8A%2Fusr%2Fbin%2Fenv%20zx%20%E6%94%BE%E5%9C%A8%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E7%9A%84%20shebang%20%E8%A1%8C%E4%B8%AD%EF%BC%8C%E4%BD%86%E6%88%91%E4%BB%AC%E7%94%A8%2Fusr%2Fbin%2Fenv%20node%20%E4%BB%A3%E6%9B%BF%E3%80%82%E8%BF%99%E6%98%AF%E5%9B%A0%E4%B8%BA%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%20zx%EF%BC%8C%E5%B9%B6%E4%BD%9C%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E6%98%8E%E7%A1%AE%E5%9C%B0%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E6%83%B3%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%E3%80%82%E8%BF%99%E6%9C%89%E5%8A%A9%E4%BA%8E%E6%98%8E%E7%A1%AE%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E4%BE%9D%E8%B5%96%E6%9D%A5%E8%87%AA%E5%93%AA%E9%87%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%20chmod%20%E6%9D%A5%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E5%A6%82%E4%B8%8B%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%88ls%EF%BC%89%E8%A2%AB%E5%8C%85%E5%90%AB%E5%9C%A8%E8%BE%93%E5%87%BA%E4%B8%AD%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%E6%98%BE%E7%A4%BA%E4%B8%A4%E6%AC%A1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BE%93%E5%87%BA%E7%9A%84%E6%9C%AB%E5%B0%BE%E5%A4%9A%E4%BA%86%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E9%BB%98%E8%AE%A4%E4%BB%A5%20verbose%20%E6%A8%A1%E5%BC%8F%E8%BF%90%E8%A1%8C%E3%80%82%E5%AE%83%E5%B0%86%E8%BE%93%E5%87%BA%E4%BD%A0%E4%BC%A0%E9%80%92%E7%BB%99%24%E5%87%BD%E6%95%B0%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%90%8C%E6%97%B6%E4%B9%9F%E8%BE%93%E5%87%BA%E8%AF%A5%E5%91%BD%E4%BB%A4%E7%9A%84%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%E8%BF%90%E8%A1%8C%20ls%20%E5%91%BD%E4%BB%A4%E5%89%8D%E5%8A%A0%E5%85%A5%E4%BB%A5%E4%B8%8B%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E6%9D%A5%E6%94%B9%E5%8F%98%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A4%A7%E5%A4%9A%E6%95%B0%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%A6%82%20ls%EF%BC%8C%E4%BC%9A%E5%9C%A8%E5%85%B6%E8%BE%93%E5%87%BA%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E5%AD%97%E7%AC%A6%EF%BC%8C%E4%BB%A5%E4%BD%BF%E8%BE%93%E5%87%BA%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E6%9B%B4%E6%98%93%E8%AF%BB%E3%80%82%E8%BF%99%E5%AF%B9%E5%8F%AF%E8%AF%BB%E6%80%A7%E6%9C%89%E5%A5%BD%E5%A4%84%EF%BC%8C%E4%BD%86%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E8%A6%81%E5%B0%86%E8%BE%93%E5%87%BA%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E6%9C%89%E8%BF%99%E4%B8%AA%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B0%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%20JavaScript%20String%23trim()%E5%87%BD%E6%95%B0%E6%8A%8A%E5%AE%83%E5%8E%BB%E6%8E%89%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E-%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cn%2B%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout.trim()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%86%8D%E6%AC%A1%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E7%BB%93%E6%9E%9C%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%A5%BD%E5%BE%88%E5%A4%9A%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ehello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%BC%95%E5%85%A5%20TypeScript%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E6%83%B3%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%BC%96%E5%86%99%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%BE%AE%E5%B0%8F%E7%9A%84%E5%8C%BA%E5%88%AB%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%8A%A0%E4%BB%A5%E8%AF%B4%E6%98%8E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9ATypeScript%20%E7%BC%96%E8%AF%91%E5%99%A8%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E5%AE%83%E5%A6%82%E4%BD%95%E7%BC%96%E8%AF%91%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%E8%80%83%E8%99%91%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E4%B8%8B%E9%9D%A2%E7%9A%84%20TypeScript%20%E9%85%8D%E7%BD%AE%E5%92%8C%E4%BB%A3%E7%A0%81%E6%98%AF%E4%B8%BA%E4%BA%86%E5%9C%A8%E5%A4%A7%E5%A4%9A%E6%95%B0%20TypeScript%20%E7%89%88%E6%9C%AC%E4%B8%8B%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E5%AE%89%E8%A3%85%E9%9C%80%E8%A6%81%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E7%9A%84%E4%BE%9D%E8%B5%96%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Btypescript%26nbsp%3Bts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ets-node%20%E5%8C%85%E6%8F%90%E4%BE%9B%E4%BA%86%E4%B8%80%E4%B8%AA%20TypeScript%20%E6%89%A7%E8%A1%8C%E5%BC%95%E6%93%8E%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E8%83%BD%E5%A4%9F%E8%BD%AC%E8%AF%91%E5%92%8C%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%9C%80%E8%A6%81%E5%88%9B%E5%BB%BA%20tsconfig.json%20%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E4%B8%8B%E9%9D%A2%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%7B%5Cn%26%2334%3BcompilerOptions%26%2334%3B%3A%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Btarget%26%2334%3B%3A%26nbsp%3B%26%2334%3Bes2017%26%2334%3B%2C%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Bmodule%26%2334%3B%3A%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5Cn%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E6%96%B0%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B9%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world-typescript.ts%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E6%B7%BB%E5%8A%A0%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%91%8A%E8%AF%89%20OS%20%E5%86%85%E6%A0%B8%E4%BD%BF%E7%94%A8%20ts-node%20%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B.%2Fnode_modules%2F.bin%2Fts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E4%B8%AD%E4%BD%BF%E7%94%A8%20await%20%E5%85%B3%E9%94%AE%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E6%8A%8A%E5%AE%83%E5%8C%85%E8%A3%85%E5%9C%A8%E4%B8%80%E4%B8%AA%E7%AB%8B%E5%8D%B3%E8%B0%83%E7%94%A8%E5%87%BD%E6%95%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%EF%BC%88IIFE%EF%BC%89%E4%B8%AD%EF%BC%8C%E6%AD%A3%E5%A6%82%20zx%20%E6%96%87%E6%A1%A3%E6%89%80%E5%BB%BA%E8%AE%AE%E7%9A%84%E9%82%A3%E6%A0%B7%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world-typescript.ts%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnvoid%26nbsp%3B(async%26nbsp%3Bfunction%26nbsp%3B()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60ls%60%3B%5Cn%7D)()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E9%9C%80%E8%A6%81%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E4%B8%8B%E9%9D%A2%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world-typescript.ts%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cntsconfig.json%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%E8%84%9A%E6%9C%AC%E4%B8%8E%E4%BD%BF%E7%94%A8%20JavaScript%20%E7%9B%B8%E4%BC%BC%EF%BC%8C%E4%BD%86%E9%9C%80%E8%A6%81%E5%AF%B9%E6%88%91%E4%BB%AC%E7%9A%84%E4%BB%A3%E7%A0%81%E8%BF%9B%E8%A1%8C%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E9%85%8D%E7%BD%AE%E5%92%8C%E5%8C%85%E8%A3%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%9E%84%E5%BB%BA%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E7%94%A8%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AF%86%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E7%94%A8%E5%AE%83%E6%9D%A5%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B7%A5%E5%85%B7%E3%80%82%E8%BF%99%E4%B8%AA%E5%B7%A5%E5%85%B7%E5%B0%86%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E9%80%9A%E5%B8%B8%E5%BE%88%E8%80%97%E6%97%B6%E7%9A%84%E8%BF%87%E7%A8%8B%EF%BC%9A%E4%B8%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E7%9A%84%E9%85%8D%E7%BD%AE%E6%8F%90%E4%BE%9B%E5%BC%95%E5%AF%BC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BA%A4%E4%BA%92%E5%BC%8F%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E3%80%82%E5%AE%83%E8%BF%98%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E5%86%85%E7%BD%AE%E7%9A%84%20chalk%20%E5%BA%93%EF%BC%8C%E4%BB%A5%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A2%9C%E8%89%B2%E9%AB%98%E4%BA%AE%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B9%B6%E6%8F%90%E4%BE%9B%E4%B8%80%E4%B8%AA%E5%8F%8B%E5%A5%BD%E7%9A%84%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C%E3%80%82%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E8%BF%98%E5%B0%86%E5%AE%89%E8%A3%85%E6%96%B0%E9%A1%B9%E7%9B%AE%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%EF%BC%8C%E6%89%80%E4%BB%A5%E5%AE%83%E5%B7%B2%E7%BB%8F%E5%87%86%E5%A4%87%E5%A5%BD%E8%AE%A9%E6%88%91%E4%BB%AC%E7%AB%8B%E5%8D%B3%E5%BC%80%E5%A7%8B%E5%BC%80%E5%8F%91%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%87%86%E5%A4%87%E5%BC%80%E5%A7%8B%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%90%8D%E4%B8%BA%20bootstrap-tool.mjs%20%E7%9A%84%E6%96%B0%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B9%B6%E6%B7%BB%E5%8A%A0%20shebang%20%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E6%A8%A1%E5%9D%97%EF%BC%8C%E4%BB%A5%E5%8F%8A%20Node.js%20%E6%A0%B8%E5%BF%83%20path%20%E6%A8%A1%E5%9D%97%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%2F%2F%26nbsp%3Bbootstrap-tool.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%2C%26nbsp%3Bargv%2C%26nbsp%3Bcd%2C%26nbsp%3Bchalk%2C%26nbsp%3Bfs%2C%26nbsp%3Bquestion%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnimport%26nbsp%3Bpath%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bpath%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8E%E6%88%91%E4%BB%AC%E4%B9%8B%E5%89%8D%E5%88%9B%E5%BB%BA%E7%9A%84%E8%84%9A%E6%9C%AC%E4%B8%80%E6%A0%B7%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bbootstrap-tool.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E7%94%A8%E7%BA%A2%E8%89%B2%E6%96%87%E6%9C%AC%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%EF%BC%8C%E5%B9%B6%E4%BB%A5%E9%94%99%E8%AF%AF%E9%80%80%E5%87%BA%E4%BB%A3%E7%A0%81%201%20%E9%80%80%E5%87%BA%20Node.js%20%E8%BF%9B%E7%A8%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Efunction%26nbsp%3BexitWithError(errorMessage)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconsole.error(chalk.red(errorMessage))%3B%5Cn%26nbsp%3B%26nbsp%3Bprocess.exit(1)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BD%93%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%A4%84%E7%90%86%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E9%80%9A%E8%BF%87%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%9C%A8%E5%90%84%E4%B8%AA%E5%9C%B0%E6%96%B9%E4%BD%BF%E7%94%A8%E8%BF%99%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%E4%B8%89%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%9Agit%E3%80%81node%20%E5%92%8C%20npx%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20which%20%E5%BA%93%E6%9D%A5%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E6%A3%80%E6%9F%A5%E8%BF%99%E4%BA%9B%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%E5%B9%B6%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20which%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bwhich%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%BC%95%E5%85%A5%E5%AE%83%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3Bwhich%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bwhich%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BD%BF%E7%94%A8%E5%AE%83%E7%9A%84%20checkRequiredProgramsExist%20%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckRequiredProgramsExist(programs)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3Bprogram%26nbsp%3Bof%26nbsp%3Bprograms)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bwhich(program)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BRequired%26nbsp%3Bcommand%26nbsp%3B%24%7Berror.message%7D%60)%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%90%8D%E7%A7%B0%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%95%B0%E7%BB%84%EF%BC%8C%E5%AF%B9%E6%AF%8F%E4%B8%AA%E7%A8%8B%E5%BA%8F%E8%B0%83%E7%94%A8%20which%20%E5%87%BD%E6%95%B0%E3%80%82%E5%A6%82%E6%9E%9C%20which%20%E6%89%BE%E5%88%B0%E4%BA%86%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%B7%AF%E5%BE%84%EF%BC%8C%E5%AE%83%E5%B0%86%E8%BF%94%E5%9B%9E%E8%AF%A5%E7%A8%8B%E5%BA%8F%E3%80%82%E5%90%A6%E5%88%99%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%AF%A5%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E6%8A%9B%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E3%80%82%E5%A6%82%E6%9E%9C%E6%9C%89%E4%BB%BB%E4%BD%95%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E8%B0%83%E7%94%A8%20exitWithError%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%E5%B9%B6%E5%81%9C%E6%AD%A2%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%8F%AF%E4%BB%A5%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%AF%B9%20checkRequiredProgramsExist%20%E7%9A%84%E8%B0%83%E7%94%A8%EF%BC%8C%E4%BB%A5%E6%A3%80%E6%9F%A5%E6%88%91%E4%BB%AC%E7%9A%84%E5%B7%A5%E5%85%B7%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%8F%AF%E7%94%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckRequiredProgramsExist(%5B%26%2334%3Bgit%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnode%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnpx%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%B7%BB%E5%8A%A0%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E9%80%89%E9%A1%B9%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%B0%86%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E5%90%AF%E5%8A%A8%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%88%91%E4%BB%AC%E5%B8%8C%E6%9C%9B%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9A%84%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E3%80%82%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E8%A6%81%E7%BB%99%E8%84%9A%E6%9C%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20--directory%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E5%86%85%E7%BD%AE%E4%BA%86%20minimist%20%E5%8C%85%EF%BC%8C%E5%AE%83%E8%83%BD%E5%A4%9F%E8%A7%A3%E6%9E%90%E4%BC%A0%E9%80%92%E7%BB%99%E8%84%9A%E6%9C%AC%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%E8%BF%99%E4%BA%9B%E8%A2%AB%E8%A7%A3%E6%9E%90%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E8%A2%AB%20zx%20%E5%8C%85%E4%BD%9C%E4%B8%BA%20argv%20%E6%8F%90%E4%BE%9B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E5%90%8D%E4%B8%BA%20directory%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E6%A3%80%E6%9F%A5%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Elet%26nbsp%3BtargetDirectory%26nbsp%3B%3D%26nbsp%3Bargv.directory%3B%5Cnif%26nbsp%3B(!targetDirectory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%26%2334%3BError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%26%2334%3B)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%20directory%20%E5%8F%82%E6%95%B0%E8%A2%AB%E4%BC%A0%E9%80%92%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%E5%AE%83%E6%98%AF%E5%90%A6%E6%98%AF%E5%B7%B2%E7%BB%8F%E5%AD%98%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%E7%9A%84%E8%B7%AF%E5%BE%84%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%8F%90%E4%BE%9B%E7%9A%84%20fs.pathExists%20%E6%96%B9%E6%B3%95%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3EtargetDirectory%26nbsp%3B%3D%26nbsp%3Bpath.resolve(targetDirectory)%3B%5Cnif%26nbsp%3B(!(await%26nbsp%3Bfs.pathExists(targetDirectory)))%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BTarget%26nbsp%3Bdirectory%26nbsp%3B%26%2339%3B%24%7BtargetDirectory%7D%26%2339%3B%26nbsp%3Bdoes%26nbsp%3Bnot%26nbsp%3Bexist%60)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E8%B7%AF%E5%BE%84%E5%AD%98%E5%9C%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%20cd%20%E5%87%BD%E6%95%B0%E6%9D%A5%E5%88%87%E6%8D%A2%E5%BD%93%E5%89%8D%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%9A%E2%80%8D%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ecd(targetDirectory)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%9C%A8%E6%B2%A1%E6%9C%89--directory%20%E5%8F%82%E6%95%B0%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E5%BA%94%E8%AF%A5%E4%BC%9A%E6%94%B6%E5%88%B0%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3B.%2Fbootstrap-tool.mjs%5CnError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E5%85%A8%E5%B1%80%20Git%20%E8%AE%BE%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%A8%8D%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%8C%E4%BD%86%E9%A6%96%E5%85%88%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%20Git%20%E6%98%AF%E5%90%A6%E6%9C%89%E5%AE%83%E9%9C%80%E8%A6%81%E7%9A%84%E9%85%8D%E7%BD%AE%E3%80%82%E6%88%91%E4%BB%AC%E8%A6%81%E7%A1%AE%E4%BF%9D%E6%8F%90%E4%BA%A4%E4%BC%9A%E8%A2%AB%20GitHub%20%E7%AD%89%E4%BB%A3%E7%A0%81%E6%89%98%E7%AE%A1%E6%9C%8D%E5%8A%A1%E6%AD%A3%E7%A1%AE%E5%BD%92%E7%B1%BB%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%81%9A%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E8%BF%99%E9%87%8C%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E7%B4%A2%20Git%20%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%E7%9A%84%E5%80%BC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetGlobalGitSettingValue(settingName)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B%26%2334%3B%26%2334%3B%3B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60git%26nbsp%3Bconfig%26nbsp%3B--global%26nbsp%3B--get%26nbsp%3B%24%7BsettingName%7D%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B).stdout.trim()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%2F%2F%26nbsp%3BIgnore%26nbsp%3Bprocess%26nbsp%3Boutput%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BsettingValue%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E5%85%B3%E9%97%AD%20zx%20%E9%BB%98%E8%AE%A4%E8%AE%BE%E7%BD%AE%E7%9A%84%20verbose%20%E6%A8%A1%E5%BC%8F%E3%80%82%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%EF%BC%8C%E5%BD%93%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%97%B6%EF%BC%8C%E8%AF%A5%E5%91%BD%E4%BB%A4%E5%92%8C%E5%AE%83%E5%8F%91%E9%80%81%E5%88%B0%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E7%9A%84%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9%E9%83%BD%E4%B8%8D%E4%BC%9A%E8%A2%AB%E6%98%BE%E7%A4%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%9C%A8%E5%87%BD%E6%95%B0%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E5%B0%86%20verbose%20%E6%A8%A1%E5%BC%8F%E9%87%8D%E6%96%B0%E6%89%93%E5%BC%80%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E5%BD%B1%E5%93%8D%E5%88%B0%E6%88%91%E4%BB%AC%E7%A8%8D%E5%90%8E%E5%9C%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%85%B6%E4%BB%96%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%20checkGlobalGitSettings%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A5%E5%87%BD%E6%95%B0%E6%8E%A5%E6%94%B6%20Git%20%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%E7%BB%84%E6%88%90%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%B0%86%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%AF%8F%E4%B8%AA%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E4%BC%A0%E9%80%92%E7%BB%99%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E4%BB%A5%E6%A3%80%E7%B4%A2%E5%85%B6%E5%80%BC%E3%80%82%E5%A6%82%E6%9E%9C%E8%AE%BE%E7%BD%AE%E6%B2%A1%E6%9C%89%E5%80%BC%EF%BC%8C%E5%B0%86%E6%98%BE%E7%A4%BA%E8%AD%A6%E5%91%8A%E4%BF%A1%E6%81%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckGlobalGitSettings(settingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3BsettingName%26nbsp%3Bof%26nbsp%3BsettingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetGlobalGitSettingValue(settingName)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!settingValue)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.warn(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.yellow(%60Warning%3A%26nbsp%3BGlobal%26nbsp%3Bgit%26nbsp%3Bsetting%26nbsp%3B%26%2339%3B%24%7BsettingName%7D%26%2339%3B%26nbsp%3Bis%26nbsp%3Bnot%26nbsp%3Bset.%60)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E7%BB%99%20checkGlobalGitSettings%20%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E8%B0%83%E7%94%A8%EF%BC%8C%E6%A3%80%E6%9F%A5%20user.name%20%E5%92%8C%20user.email%20%E7%9A%84%20Git%20%E8%AE%BE%E7%BD%AE%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E8%A2%AB%E8%AE%BE%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckGlobalGitSettings(%5B%26%2334%3Buser.name%26%2334%3B%2C%26nbsp%3B%26%2334%3Buser.email%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%88%9D%E5%A7%8B%E5%8C%96%20Git%20%E4%BB%93%E5%BA%93%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E6%B7%BB%E5%8A%A0%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Binit%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20package.json%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%AF%8F%E4%B8%AA%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%83%BD%E9%9C%80%E8%A6%81%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E8%BF%99%E6%98%AF%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E5%AE%9A%E4%B9%89%E5%85%83%E6%95%B0%E6%8D%AE%E7%9A%84%E5%9C%B0%E6%96%B9%EF%BC%8C%E6%8C%87%E5%AE%9A%E9%A1%B9%E7%9B%AE%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E5%8C%85%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%B7%BB%E5%8A%A0%E5%AE%9E%E7%94%A8%E7%9A%84%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%94%9F%E6%88%90%20package.json%20%E6%96%87%E4%BB%B6%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E5%87%A0%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%98%AF%20readPackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%AF%BB%E5%8F%96%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BreadPackageJson(directory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3Bfs.readJSON(packageJsonFilepath)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20writePackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E5%90%91%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E5%86%99%E5%85%A5%E6%9B%B4%E6%94%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BwritePackageJson(directory%2C%26nbsp%3Bcontents)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bfs.writeJSON(packageJsonFilepath%2C%26nbsp%3Bcontents%2C%26nbsp%3B%7B%26nbsp%3Bspaces%3A%26nbsp%3B2%26nbsp%3B%7D)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%20fs.readJSON%20%E5%92%8C%20fs.writeJSON%20%E6%96%B9%E6%B3%95%E6%98%AF%E7%94%B1%20fs-extra%20%E5%BA%93%E6%8F%90%E4%BE%9B%E7%9A%84%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E5%AE%9A%E4%B9%89%E4%BA%86%20package.json%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%BC%80%E5%A7%8B%E8%80%83%E8%99%91%20package.json%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E6%94%AF%E6%8C%81%E4%B8%A4%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ECommonJS%20Modules%20(CJS)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DKTweLvts6a1zOlUbn0cnCA%253D%253D.WRSoJ3t37Y2GYjanjStt81N%252BkCOGoR11gK8pv6Fck09uaKTSXHq5mvMcWutIRxYU%3C%2Fspan%3E%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%BF%E7%94%A8%20module.exports%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20require()%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EECMAScript%20Modules%20(ESM)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DOUbF%252BkjeOpAlt3Fo9PFGFw%253D%253D.Ex%252BQVnop7rVNKtYxrnp%252Fhcm08eFRE7K2XLUBlFFQ7D4%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%BD%BF%E7%94%A8%20export%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20import%20%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E7%94%9F%E6%80%81%E7%B3%BB%E7%BB%9F%E6%AD%A3%E5%9C%A8%E9%80%90%E6%AD%A5%E9%87%87%E7%94%A8%20ES%20%E6%A8%A1%E5%9D%97%EF%BC%8C%E8%BF%99%E5%9C%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%20JavaScript%20%E4%B8%AD%E6%98%AF%E5%BE%88%E5%B8%B8%E8%A7%81%E7%9A%84%E3%80%82%E5%BD%93%E4%BA%8B%E6%83%85%E5%A4%84%E4%BA%8E%E8%BF%87%E6%B8%A1%E9%98%B6%E6%AE%B5%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%86%B3%E5%AE%9A%E6%88%91%E4%BB%AC%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%BB%98%E8%AE%A4%E4%BD%BF%E7%94%A8%20CJS%20%E6%A8%A1%E5%9D%97%E8%BF%98%E6%98%AF%20ESM%20%E6%A8%A1%E5%9D%97%E3%80%82%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%BF%99%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForModuleSystem(moduleSystems)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Which%26nbsp%3BNode.js%26nbsp%3Bmodule%26nbsp%3Bsystem%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Buse%3F%26nbsp%3B(%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26nbsp%3Bor%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D)%26nbsp%3B%60%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchoices%3A%26nbsp%3BmoduleSystems%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BmoduleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E5%87%BD%E6%95%B0%E4%BD%BF%E7%94%A8%E7%9A%84%20question%20%E5%87%BD%E6%95%B0%E7%94%B1%20zx%20%E6%8F%90%E4%BE%9B%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getNodeModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E8%B0%83%E7%94%A8%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E6%A3%80%E6%9F%A5%E6%89%80%E8%BE%93%E5%85%A5%E7%9A%84%E5%80%BC%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%8D%E6%98%AF%EF%BC%8C%E5%AE%83%E5%B0%86%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetNodeModuleSystem()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystems%26nbsp%3B%3D%26nbsp%3B%5B%26%2334%3Bmodule%26%2334%3B%2C%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForModuleSystem(moduleSystems)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BisValidModuleSystem%26nbsp%3B%3D%26nbsp%3BmoduleSystems.includes(selectedModuleSystem)%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!isValidModuleSystem)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BModule%26nbsp%3Bsystem%26nbsp%3Bmust%26nbsp%3Bbe%26nbsp%3Beither%26nbsp%3B%26%2339%3B%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26%2339%3B%26nbsp%3Bor%26nbsp%3B%26%2339%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%26%2339%3B%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BselectedModuleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E8%BF%90%E8%A1%8C%20npm%20init%20%E5%91%BD%E4%BB%A4%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npm%26nbsp%3Binit%26nbsp%3B--yes%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E8%AF%BB%E5%8F%96%E6%96%B0%E5%88%9B%E5%BB%BA%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E8%AF%A2%E9%97%AE%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%B3%BB%E7%BB%9F%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA%20packageJson%20%E5%AF%B9%E8%B1%A1%E4%B8%AD%E7%9A%84%20type%20%E5%B1%9E%E6%80%A7%E5%80%BC%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%E5%85%B6%E5%86%99%E5%9B%9E%E5%88%B0%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackageJson%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5CnpackageJson.type%26nbsp%3B%3D%26nbsp%3BselectedModuleSystem%3B%5Cnawait%26nbsp%3BwritePackageJson(targetDirectory%2C%26nbsp%3BpackageJson)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%8F%90%E7%A4%BA%EF%BC%9A%E5%BD%93%E4%BD%A0%E7%94%A8--yes%20%E6%A0%87%E5%BF%97%E8%BF%90%E8%A1%8C%20npm%20init%20%E6%97%B6%EF%BC%8C%E8%A6%81%E6%83%B3%E5%9C%A8%20package.json%20%E4%B8%AD%E8%8E%B7%E5%BE%97%E5%90%88%E7%90%86%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%EF%BC%8C%E8%AF%B7%E7%A1%AE%E4%BF%9D%E4%BD%A0%E8%AE%BE%E7%BD%AE%E4%BA%86%20npminit-*%E7%9A%84%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DX0aVKO8sVtj0bgZhFmgjVw%253D%253D.hxYbJxX5X2odlcPpk5MdIVLkT7ESAsFMhFnFSRBftI2c2BjNTUCtV1gwdXnpxWGI%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E9%A1%B9%E7%9B%AE%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E4%BD%BF%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E5%90%8E%E8%83%BD%E5%A4%9F%E8%BD%BB%E6%9D%BE%E5%9C%B0%E5%BC%80%E5%A7%8B%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForPackages%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E5%93%AA%E4%BA%9B%20npm%20%E5%8C%85%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForPackages()%26nbsp%3B%7B%5Cnlet%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3BWhich%26nbsp%3Bnpm%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Binstall%26nbsp%3Bfor%26nbsp%3Bthis%26nbsp%3Bproject%3F%26nbsp%3B%26%2334%3B%5Cn)%3B%5CnpackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall%5Cn%26nbsp%3B%26nbsp%3B.trim()%5Cn%26nbsp%3B%26nbsp%3B.split(%26%2334%3B%26nbsp%3B%26%2334%3B)%5Cn%26nbsp%3B%26nbsp%3B.filter((pkg)%26nbsp%3B%3D%26gt%3B%26nbsp%3Bpkg)%3B%5Cnreturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E9%98%B2%E6%AD%A2%E6%88%91%E4%BB%AC%E5%9C%A8%E8%BE%93%E5%85%A5%E5%8C%85%E5%90%8D%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E5%88%AB%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20identifyInvalidNpmPackages%20%E5%87%BD%E6%95%B0%E3%80%82%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E5%B0%86%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%20npm%20%E5%8C%85%E5%90%8D%E6%95%B0%E7%BB%84%EF%BC%8C%E7%84%B6%E5%90%8E%E8%BF%90%E8%A1%8C%20npm%20view%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E6%9F%A5%E5%AE%83%E4%BB%AC%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BidentifyInvalidNpmPackages(packages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3B%5B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(const%26nbsp%3Bpkg%26nbsp%3Bof%26nbsp%3Bpackages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Bview%26nbsp%3B%24%7Bpkg%7D%60%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BinvalidPackages.push(pkg)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BinvalidPackages%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getPackagesToInstall%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E5%88%9A%E5%88%9A%E5%88%9B%E5%BB%BA%E7%9A%84%E4%B8%A4%E4%B8%AA%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetPackagesToInstall()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForPackages()%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BidentifyInvalidNpmPackages(packagesToInstall)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BallPackagesExist%26nbsp%3B%3D%26nbsp%3BinvalidPackages.length%26nbsp%3B%3D%3D%3D%26nbsp%3B0%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!allPackagesExist)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BThe%26nbsp%3Bfollowing%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Bnot%26nbsp%3Bexist%26nbsp%3Bon%26nbsp%3Bnpm%3A%26nbsp%3B%24%7BinvalidPackages.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%2C%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%9C%89%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%90%8D%E7%A7%B0%E4%B8%8D%E6%AD%A3%E7%A1%AE%EF%BC%8C%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E6%97%A6%E6%88%91%E4%BB%AC%E5%BE%97%E5%88%B0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E6%9C%89%E6%95%88%E5%8C%85%E5%88%97%E8%A1%A8%EF%BC%8C%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20npm%20install%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E5%AE%89%E8%A3%85%E5%AE%83%E4%BB%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cnconst%26nbsp%3BhavePackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall.length%26nbsp%3B%26gt%3B%26nbsp%3B0%3B%5Cnif%26nbsp%3B(havePackagesToInstall)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Binstall%26nbsp%3B%24%7BpackagesToInstall%7D%60%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E4%B8%BA%E5%B7%A5%E5%85%B7%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE%E6%98%AF%E6%88%91%E4%BB%AC%E7%94%A8%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E7%9A%84%E6%9C%80%E4%BD%B3%E4%BA%8B%E9%A1%B9%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA.gitignore%20%E6%96%87%E4%BB%B6%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E6%84%8F%E5%A4%96%E5%9C%B0%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E5%9C%A8%20Git%20%E4%BB%93%E5%BA%93%E4%B8%AD%E5%87%BA%E7%8E%B0%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bgitignore%26nbsp%3Bnode%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8%20gitignore%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DV%252FIoxipE2WxmNECDRNKMqg%253D%253D.7Y4d34n%252BoUVlJkYEiJt3NLa9RHn2pYtKq%252BHpO67HIQjfjKAHIxcMynZzTudktHaV%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E5%8C%85%EF%BC%8C%E4%BB%8E%20GitHub%20%E7%9A%84%20gitignore%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3E%20https%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DSzh56TKqT6gYmrJidM7ZXg%253D%253D.BK7Vf5F73GaplJKeN48OsobM6U4EPriatZOr3dBhsSVZIuIUiktyqfS1jhLLtQ7o%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E6%A8%A1%E6%9D%BF%E4%B8%AD%E6%8B%89%E5%8F%96%20Node.js%20%E7%9A%84.gitignore%20%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E7%9A%84%20EditorConfig%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DdGD5%252BEyCTqLfqDSif7%252FHgQ%253D%253D.xgNWBjR6m%252FIUFlG1UmM3CYX2R%252BLXFN531lZhlvCRRWs%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%81Prettier%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3Dn7clHFqLMZZala0zu1JjdQ%253D%253D.jivAg4cL8HkSAhuurMUHrlfhGGILOpveTQR0rjCRXyg%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%92%8C%20ESLint%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DJ4jXEAmmBQ83%252FWSrOtTsAQ%253D%253D.b%252FKC0kT%252FZWZQ9KBItXDMQHWJBzc5aW9hUZsxWHBsMY4%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E4%B8%80%E4%B8%AA%E5%8F%AB%E5%81%9A%20Mrm%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E7%9A%84%20mrm%20%E4%BE%9D%E8%B5%96%E9%A1%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--global%26nbsp%3Bmrm%26nbsp%3Bmrm-task-editorconfig%26nbsp%3Bmrm-task-prettier%26nbsp%3Bmrm-task-eslint%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%B7%BB%E5%8A%A0%20mrm%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beditorconfig%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Bprettier%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beslint%60%3B%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EMrm%20%E8%B4%9F%E8%B4%A3%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%E3%80%82%E5%AE%83%E8%BF%98%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E7%94%9F%E6%88%90%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BB%A5%E7%AC%A6%E5%90%88%E6%88%91%E4%BB%AC%E7%9A%84%E4%B8%AA%E4%BA%BA%E5%81%8F%E5%A5%BD%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20README%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E7%9A%84%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%E8%AF%BB%E5%8F%96%E9%A1%B9%E7%9B%AE%E5%90%8D%E7%A7%B0%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA%E5%9F%BA%E6%9C%AC%E7%9A%84%20Markdown%20%E6%A0%BC%E5%BC%8F%E7%9A%84%20README%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E5%86%99%E5%85%A5%20README.md%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3B%7B%26nbsp%3Bname%3A%26nbsp%3BprojectName%26nbsp%3B%7D%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BreadmeContents%26nbsp%3B%3D%26nbsp%3B%60%23%26nbsp%3B%24%7BprojectName%7D%5Cn...%5Cn%60%3B%5Cnawait%26nbsp%3Bfs.writeFile(%60%24%7BtargetDirectory%7D%2FREADME.md%60%2C%26nbsp%3BreadmeContents)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%9A%B4%E9%9C%B2%E7%9A%84%20fs.writeFile%20%E7%9A%84%20promise%20%E5%8F%98%E9%87%8F%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%8F%90%E4%BA%A4%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%80%E5%90%8E%EF%BC%8C%E6%98%AF%E6%97%B6%E5%80%99%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E7%94%A8%20git%20%E5%88%9B%E5%BB%BA%E7%9A%84%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%E4%BA%86%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Badd%26nbsp%3B.%60%3B%5Cnawait%26nbsp%3B%24%60git%26nbsp%3Bcommit%26nbsp%3B-m%26nbsp%3B%26%2334%3BAdd%26nbsp%3Bproject%26nbsp%3Bskeleton%26%2334%3B%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E6%9D%A1%E6%B6%88%E6%81%AF%EF%BC%8C%E7%A1%AE%E8%AE%A4%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B7%B2%E7%BB%8F%E6%88%90%E5%8A%9F%E5%90%AF%E5%8A%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econsole.log(%5Cn%26nbsp%3B%26nbsp%3Bchalk.green(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60%5C%5Cn%E2%9C%94%EF%B8%8F%26nbsp%3BThe%26nbsp%3Bproject%26nbsp%3B%24%7BprojectName%7D%26nbsp%3Bhas%26nbsp%3Bbeen%26nbsp%3Bsuccessfully%26nbsp%3Bbootstrapped!%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B)%5Cn)%3B%5Cnconsole.log(chalk.green(%60Add%26nbsp%3Ba%26nbsp%3Bgit%26nbsp%3Bremote%26nbsp%3Band%26nbsp%3Bpush%26nbsp%3Byour%26nbsp%3Bchanges.%60))%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%90%AF%E5%8A%A8%E6%96%B0%E9%A1%B9%E7%9B%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bnew-project%5Cn.%2Fbootstrap-tool.mjs%26nbsp%3B--directory%26nbsp%3Bnew-project%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%B9%B6%E8%A7%82%E7%9C%8B%E6%88%91%E4%BB%AC%E6%89%80%E5%81%9A%E7%9A%84%E4%B8%80%E5%88%87%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%80%BB%E7%BB%93%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E5%A6%82%E4%BD%95%E5%9C%A8%20Node.js%20%E4%B8%AD%E5%80%9F%E5%8A%A9%20Google%20%E7%9A%84%20zx%20%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E5%BC%BA%E5%A4%A7%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E4%BA%86%E5%AE%83%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%92%8C%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%81%B5%E6%B4%BB%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%B0%E7%9B%AE%E5%89%8D%E4%B8%BA%E6%AD%A2%EF%BC%8C%E6%88%91%E4%BB%AC%E6%89%80%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%8F%AA%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BC%80%E5%A7%8B%E3%80%82%E8%BF%99%E9%87%8C%E6%9C%89%E4%B8%80%E4%BA%9B%E5%8A%9F%E8%83%BD%E7%82%B9%E5%AD%90%EF%BC%8C%E4%BD%A0%E5%8F%AF%E8%83%BD%E6%83%B3%E5%B0%9D%E8%AF%95%E8%87%AA%E5%B7%B1%E6%B7%BB%E5%8A%A0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E3%80%82%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E8%BF%98%E4%B8%8D%E5%AD%98%E5%9C%A8%EF%BC%8C%E5%88%99%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E5%B9%B6%E8%AF%A2%E9%97%AE%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E6%83%B3%E8%A6%81%E4%B8%BA%E4%BB%96%E4%BB%AC%E5%88%9B%E5%BB%BA%E8%AF%A5%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BC%80%E6%BA%90%E5%8D%AB%E7%94%9F%E3%80%82%E9%97%AE%E9%97%AE%E7%94%A8%E6%88%B7%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E5%9C%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B0%86%E6%98%AF%E5%BC%80%E6%BA%90%E7%9A%84%E9%A1%B9%E7%9B%AE%E3%80%82%E5%A6%82%E6%9E%9C%E6%98%AF%E7%9A%84%E8%AF%9D%EF%BC%8C%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E8%AE%B8%E5%8F%AF%E8%AF%81%E5%92%8C%E8%B4%A1%E7%8C%AE%E8%80%85%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%20GitHub%20%E4%B8%8A%E7%9A%84%E4%BB%93%E5%BA%93%E3%80%82%E6%B7%BB%E5%8A%A0%E4%BD%BF%E7%94%A8%20GitHub%20CLI%20%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%9C%A8%20GitHub%20%E4%B8%8A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E3%80%82%E4%B8%80%E6%97%A6%E7%94%A8%20Git%20%E6%8F%90%E4%BA%A4%E4%BA%86%E5%88%9D%E5%A7%8B%E9%AA%A8%E6%9E%B6%EF%BC%8C%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E6%8E%A8%E9%80%81%E5%88%B0%E8%BF%99%E4%B8%AA%E4%BB%93%E5%BA%93%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E5%9C%A8%20GitHub%20%E4%B8%8A%E6%89%BE%E5%88%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E8%AF%91%E8%87%AA%EF%BC%9A%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5Z%252ByLQNgua%252FY5gnguxXllg%253D%253D.SeNINYETng%252BH6uZupDjhsYNRqM5GWB5jXVDlvMdMqsO9u3CmWfwe8DwT48iAvK%252Fsm8pflQ8jbxHc1sB281%252B6pA%253D%253D%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%9C%E8%80%85%EF%BC%9A%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3ESimon%20Plenderleith%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BB%A5%E4%B8%8A%E5%B0%B1%E6%98%AF%E6%9C%AC%E6%96%87%E7%9A%84%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9%E3%80%82%E5%A6%82%E6%9E%9C%E5%AF%B9%E4%BD%A0%E6%9C%89%E6%89%80%E5%B8%AE%E5%8A%A9%EF%BC%8C%E6%AC%A2%E8%BF%8E%E7%82%B9%E8%B5%9E%E3%80%81%E6%94%B6%E8%97%8F%E3%80%81%E8%BD%AC%E5%8F%91~%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Chr%3E%22%2C%22imageList%22%3A%5B%5D%2C%22mediaInfo%22%3A%7B%22userId%22%3A%22MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH%22%2C%22unsafeUserId%22%3A%224288553596503552%22%2C%22name%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22avatarUrl%22%3A%22https%3A%2F%2Fsf3-cdn-tos.toutiaostatic.com%2Fimg%2Fuser-avatar%2Fc14bb151d3505084033c82ee8238acde~300x300.image%22%2C%22description%22%3A%22%E6%AC%A2%E8%BF%8E%E5%85%B3%E6%B3%A8VX%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22userVerified%22%3A1%7D%2C%22seoTDK%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC-%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1%22%2C%22description%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22keywords%22%3A%22%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%2CNode.js%2CGoogle%2CJavaScript%2CBash%2CTypeScript%2CZsh%2CGitHub%2C%E7%BE%8E%E5%A5%BD%EF%BC%8C%E4%B8%80%E7%9B%B4%E5%9C%A8%E8%BA%AB%E8%BE%B9%22%2C%22publishTimestamp%22%3A%221678237205%22%2C%22modifiedTimestamp%22%3A%221685548306%22%7D%2C%22cover%22%3A%22https%3A%2F%2Fp3-sign.toutiaoimg.com%2Flarge%2Ftos-cn-i-qvj2lq49k0%2F7894dd4439eb4e78ad35208f496e841a%3F_iz%3D58558%26from%3Darticle.pc_detail%26x-expires%3D1690103402%26x-signature%3D5z%252FNWR2V4o%252B5W0fhczXkGuaSyYE%253D%22%2C%22logId%22%3A%222023071617100290B65219A60FE2C10ABA%22%2C%22sylpageConfig%22%3A%7B%22card%22%3A%7B%22id%22%3A%22%22%7D%7D%2C%22identity%22%3A%7B%22web_id%22%3A%227235169635611018810%22%2C%22user_is_login%22%3Afalse%7D%2C%22abtestInfo%22%3A%7B%22rsp_type%22%3A5%2C%22version_name%22%3A%224938400%22%2C%22parameters%22%3A%7B%22filter%22%3A%7B%22debug_enable_pc_small_video%22%3Afalse%2C%22enable_pc_small_video%22%3Atrue%7D%2C%22home_nav_conf%22%3A%7B%22dcd_out%22%3A1%7D%2C%22optimus%22%3A%7B%22rule_rank_rules%22%3A%22ranking_rule_list%20%7B%5Cn%20%20id%3A%201221233%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2212123%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%202%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%2020458%5Cn%20%20priority%3A%203%5Cn%20%20enabled%3A%20true%5Cn%20%20category%3A%2020458%5Cn%20%20type%3A%20WINDOW%5Cn%20%20window_rule%20%7B%5Cn%20%20%20%20type%3A%20SLIDE%5Cn%20%20%20%20size%3A%203%5Cn%20%20%20%20max%3A%201%5Cn%20%20%7D%5Cn%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%201111024%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2211024%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%206%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%22%7D%2C%22page_upgrade%22%3A%7B%22new_profile%22%3Atrue%2C%22video_double_column%22%3Atrue%7D%2C%22recall%22%3A%7B%22debug_filter_reason_list%22%3A%5B%5D%2C%22debug_recall_reason_list%22%3A%5B70%2C71%2C72%2C73%2C80%2C83%5D%2C%22enable_debug_filter_reason%22%3Atrue%2C%22enable_debug_recall_reason%22%3Atrue%2C%22friend_feed%22%3A%7B%22control_nums%22%3A1500%2C%22count%22%3A1000%2C%22enable%22%3Atrue%2C%22enable_cpp_friend_feed%22%3Atrue%2C%22enable_friend_feed_container_filter%22%3Atrue%2C%22enable_group_status_filter%22%3Atrue%2C%22params%22%3A%7B%7D%2C%22top_k%22%3A10%2C%22use_new_friend_recall%22%3Atrue%2C%22valid_group_source%22%3A%5B2%2C5%2C15%2C23%2C16%2C19%2C21%2C132%5D%2C%22weight%22%3A20%7D%7D%2C%22seraph%22%3A%7B%22rule_rank_rules_pc_small%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20%20%20%20%20%20id%3A%2022124%20%5Cn%20%20%20%20%20%20%20%20%20priority%3A%200%20%5Cn%20%20%20%20%20%20%20%20%20tags%3A%20%5C%2222124%5C%22%20%5Cn%20%20%20%20%20%20%20%20%20enabled%3A%20true%20%5Cn%20%20%20%20%20%20%20%20%20type%3A%20CARD%20%5Cn%20%20%20%20%20%20%20%20%20card_rule%20%7B%20%5Cn%20%20%20%20%20%20%20%20%20size%3A%206%20%5Cn%20%20%20%20%20%20%20%20%20num_cards%3A%201%5Cn%20%20%20%20%20%20%20%20%20type%3A%20SAME_SLOT%20%5Cn%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%22%2C%22rule_rank_rules_pc_small_window%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20id%3A%20222124%5Cn%20%20%20priority%3A%200%5Cn%20%20%20tags%3A%20%5C%2222124%5C%22%5Cn%20%20%20%20enabled%3A%20false%5Cn%20%20%20%20type%3A%20WINDOW%5Cn%20%20%20%20window_rule%20%7B%5Cn%20%20%20type%3A%20SLIDE%20%5Cn%20%20%20size%3A%2012%20%5Cn%20%20%20max%3A%206%20%5Cn%20%20%20%7D%5Cn%20%20%20%7D%22%7D%2C%22small_sort%22%3A%7B%22enable_filter_zhanwai%22%3Atrue%2C%22filter_genre_plog%22%3Afalse%2C%22filter_genre_small%22%3Afalse%2C%22skip_small_app_version_filter%22%3Afalse%2C%22skip_small_genre_filter%22%3Afalse%7D%2C%22sort%22%3A%7B%22allowed_ticai%22%3A%5B%22forum_post%22%2C%22pgc_text%22%2C%22pgc_video%22%2C%22short_video%22%5D%2C%22enable_optimus_gen_pc_mv_card%22%3Atrue%2C%22enable_optimus_gen_pc_sv_card%22%3Atrue%2C%22enable_pc_skip_app_smallvideo_card%22%3Atrue%7D%2C%22ugc_sort%22%3A%7B%22expore_smallvideo%22%3Atrue%7D%2C%22video_channel%22%3A%7B%22use_feed%22%3A1%2C%22rank%22%3A5%7D%7D%2C%22env_flag%22%3A0%7D%2C%22localCityInfo%22%3A%7B%22name%22%3A%22%E8%A5%84%E9%98%B3%22%2C%22code%22%3A%22420600%22%2C%22channelId%22%3A3202181326%7D%2C%22voteLink%22%3A%5B%7B%22keyword%22%3A%22%E6%9C%AB%E4%B8%96%E9%87%8D%E7%94%9F%EF%BC%8C%E6%88%91%E6%8A%A2%E4%BA%86%E5%A5%B3%E4%B8%BB%E7%9A%84%E9%87%91%E6%89%8B%E6%8C%87%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7045105728742231079%22%7D%2C%7B%22keyword%22%3A%22%E4%BA%BA%E5%9C%A8%E6%B5%B7%E8%B4%BC%3A%E6%88%91%E6%88%90%E4%B8%BA%E4%BA%86%E6%B5%B7%E5%86%9B%E5%A5%B3%E7%8E%8B%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7070145477789879300%22%7D%2C%7B%22keyword%22%3A%22%E6%B2%A1%E7%9E%8E%E7%9C%BC%E4%B8%89%E5%B9%B4%EF%BC%8C%E4%BD%86%E6%88%91%E7%9A%84%E5%AD%A6%E7%94%9F%E4%B8%8D%E6%98%AF%E4%BA%BA%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7118385133568134175%22%7D%2C%7B%22keyword%22%3A%22%E7%9C%9F%E5%8D%83%E9%87%91%E4%BB%8E%E4%BF%AE%E7%9C%9F%E7%95%8C%E5%9B%9E%E6%9D%A5%E4%BA%86%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F6983183491827502094%22%7D%2C%7B%22keyword%22%3A%22%E5%BC%82%E4%B8%96%E7%9B%B8%E9%81%87%E5%B0%BD%E4%BA%AB%E7%A4%BE%E6%AD%BB%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F583844%22%7D%2C%7B%22keyword%22%3A%22python%20ols%E5%9B%9E%E5%BD%92%E5%88%86%E6%9E%90%E7%BB%93%E6%9E%9C%E6%80%8E%E4%B9%88%E7%9C%8B%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131680%22%7D%2C%7B%22keyword%22%3A%22%E7%A5%9E%E5%A5%87%E5%AE%9D%E8%B4%9D%E4%B9%8B%E5%85%A8%E8%83%BD%E6%8E%8C%E9%97%A8%E4%BA%BA%E8%87%B4%E5%85%89%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F738595%22%7D%2C%7B%22keyword%22%3A%22%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3java8%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131722%22%7D%2C%7B%22keyword%22%3A%22linux%20mysql%20%E6%97%A5%E5%BF%97%E6%B8%85%E7%90%86%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1182964%22%7D%2C%7B%22keyword%22%3A%22%E6%88%91%E5%9C%A8%E5%AE%9D%E5%8F%AF%E6%A2%A6%E4%B8%96%E7%95%8C%E6%88%90%E4%B8%BA%E7%AC%AC%E4%B8%80%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F188604%22%7D%5D%2C%22grSensitive%22%3Afalse%2C%22showResearch%22%3Afalse%2C%22blockVisibility%22%3A%7B%22hotBoard%22%3Atrue%2C%22hotVideo%22%3Atrue%2C%22relatedRecommend%22%3Atrue%7D%2C%22isGreyTheme%22%3Afalse%2C%22searchBot%22%3Anull%7D%7D
npminit--yes`;
然后我们将使用 readPackageJson 辅助函数来读取新创建的 package.json 文件。我们将询问项目应该使用哪个模块系统,并将其设置为 packageJson 对象中的 type 属性值,然后将其写回到项目的 package.json 文件中:
constpackageJson=awaitreadPackageJson(targetDirectory);
constselectedModuleSystem=awaitgetNodeModuleSystem();
packageJson.type=selectedModuleSystem;
awaitwritePackageJson(targetDirectory,packageJson);
提示:当你用--yes 标志运行 npm init 时,要想在 package.json 中获得合理的默认值,请确保你设置了 npminit-*的配置设置 https://link.segmentfault.com/?enc=X0aVKO8sVtj0bgZhFmgjVw%3D%3D.hxYbJxX5X2odlcPpk5MdIVLkT7ESAsFMhFnFSRBftI2c2BjNTUCtV1gwdXnpxWGI 。
安装所需项目依赖
为了使运行我们的启动工具后能够轻松地开始项目开发,我们将创建一个 promptForPackages 函数,询问要安装哪些 npm 包:
asyncfunctionpromptForPackages(){
letpackagesToInstall=awaitquestion(
"Whichnpmpackagesdoyouwanttoinstallforthisproject?"
);
packagesToInstall=packagesToInstall
.trim()
.split("")
.filter((pkg)=>pkg);
returnpackagesToInstall;
}
为了防止我们在输入包名时出现错别字,我们将创建一个 identifyInvalidNpmPackages 函数。这个函数将接受一个 npm 包名数组,然后运行 npm view 命令来检查它们是否存在:
asyncfunctionidentifyInvalidNpmPackages(packages){
$.verbose=false;
letinvalidPackages=[];
for(constpkgofpackages){
try{
await
社区精选|如何使用 zx 编写 shell 脚本-*今条头日**
{"@context":"https://schema.org","@type":"NewsArticle","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.toutiao.com/article/7207743318715793920/"},"headline":"社区精选|如何使用 zx 编写 shell 脚本","description":"在这篇文章中,我们将学习谷歌的 zx 库提供了什么,以及我们如何使用它来用 Node.js 编写 shell 脚本。","image":[],"datePublished":"2023-03-08T01:00:05.000Z","dateModified":"2023-05-31T15:51:46.000Z","author":{"@type":"Person","name":"计算科学与信息化","url":"https://www.toutiao.com/c/user/token/MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH/"},"publisher":{"@type":"Organization","name":"*今条头日**","logo":{"@type":"ImageObject","url":"https://lf3-static.bytednsdoc.com/obj/eden-cn/uhbfnupkbps/216.png"}}}
!function(r,e,t,n,s,a,o,i,c,l,d,p,m,f){a="precollect",o="getAttribute",i="addEventListener",(l=function(e){(d=[].slice.call(arguments)).push(Date.now(),location.href),(e==a?l.p.a:l.q).push(d)}).q=[],l.p={a:[]},r[s]=l,(p=document.createElement("script")).src=t+"?bid=toutiao_web_pc&globalName="+s,p.crossOrigin=0
window.Slardar&&window.Slardar("init",{bid:"toutiao_web_pc",pid:"news_article_detail",release:"1.0.0.1822",env:"online",sample:{sample_rate:1},plugins:{ajax:{ignoreUrls:["mcs.snssdk.com","mcs.zijieapi.com","i.snssdk.com","verify.snssdk.com","vcs.snssdk.com","mon.zijieapi.com","mon.snssdk.com"]},pageview:{routeMode:"manual"},blankScreen:{rootSelector:"#root"}}})
!function(n,t){if(n.LogAnalyticsObject=t,!n[t]){function c(){c.q.push(arguments)}c.q=c.q||[],n[t]=c}n[t].l=+new Date}(window,"collectEvent")
window.collectEvent("usePlugin","autotrack"),window.collectEvent("usePlugin","stay"),window.collectEvent("init",{app_id:24,channel:"cn",autotrack:{custom:"tea",text:!0},enable_stay_duration:!0}),window.collectEvent("config",{evtParams:{url:window.location.href,screen_width:window.screen.width,screen_height:window.screen.height,screen_inner_width:window.innerWidth,screen_inner_height:window.innerHeight}})
window.byted_acrawler&&window.byted_acrawler.init({aid:24,dfp:!0})
window.TTGCaptcha&&window.TTGCaptcha.init({commonOptions:{aid:24,iid:"0",did:"0"}})
window.secsdk&&window.secsdk.csrf.setProtectedHost({"www.toutiao.com":{GET:[],POST:[/^\/api\/pc\/user\/fans_digg/,/^\/api\/pc\/user\/delete/,/^\/api\/pc\/user\/follow/,/^\/c\/ugc\/content\/repost/,/^\/group\/repin/,/^\/group\/unrepin/,/^\/api\/pc\/user\/stick/,/^\/api\/pc\/user\/unstick/,/^\/c\/user\/unfollow/,/^\/wenda\/v5\/interact\/followanswer/,/^\/wenda\/v5\/interact\/followquestion/,/^\/wenda\/v5\/interact\/digganswer/,/^\/wenda\/v5\/interact\/deleteanswer/,/^\/user_data\/batch_action/],PUT:[],PATCH:[],DELETE:[]}})
"undefined"!=typeof window&&"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("/sw.js").catch(function(e){window.Slardar&&window.Slardar("emit","counter",{name:"sw-register-error",value:1})})})
function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-QEHZPBE5HH")
%7B%22data%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%22%2C%22abstract%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22articleType%22%3A%22article%22%2C%22itemId%22%3A%227207743318715793920%22%2C%22groupId%22%3A%227207743318715793920%22%2C%22groupSource%22%3A2%2C%22isOriginal%22%3Afalse%2C%22banComment%22%3Afalse%2C%22publishTime%22%3A%222023-03-08%2009%3A00%22%2C%22source%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22tag%22%3A%22technique%22%2C%22mediaSite%22%3Anull%2C%22pathname%22%3A%22%2Farticle%2F7207743318715793920%2F%22%2C%22useCandle%22%3Afalse%2C%22isExclusive%22%3Afalse%2C%22favorite%22%3Afalse%2C%22relation%22%3A%7B%22isFollowing%22%3Afalse%2C%22isFollowed%22%3Afalse%7D%2C%22likeData%22%3A%7B%22userLikeStatus%22%3A0%2C%22count%22%3A1%7D%2C%22isSelf%22%3Afalse%2C%22content%22%3A%22%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%89%8D%E8%A8%80%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E6%9D%A5%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E5%BC%95%E5%AF%BC%E9%85%8D%E7%BD%AE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E7%BC%96%E5%86%99%20Shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E9%97%AE%E9%A2%98%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%94%B1%20Bash%20%E6%88%96%E8%80%85%20zsh%20%E6%89%A7%E8%A1%8C%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%98%AF%E8%87%AA%E5%8A%A8%E5%8C%96%E9%87%8D%E5%A4%8D%E4%BB%BB%E5%8A%A1%E7%9A%84%E5%A5%BD%E6%96%B9%E6%B3%95%E3%80%82Node.js%20%E4%BC%BC%E4%B9%8E%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E7%90%86%E6%83%B3%E9%80%89%E6%8B%A9%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E8%AE%B8%E5%A4%9A%E6%A0%B8%E5%BF%83%E6%A8%A1%E5%9D%97%EF%BC%8C%E5%B9%B6%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E5%AF%BC%E5%85%A5%E4%BB%BB%E4%BD%95%E6%88%91%E4%BB%AC%E9%80%89%E6%8B%A9%E7%9A%84%E5%BA%93%E3%80%82%E5%AE%83%E8%BF%98%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%AE%BF%E9%97%AE%20JavaScript%20%E6%8F%90%E4%BE%9B%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E5%92%8C%E5%86%85%E7%BD%AE%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E4%BD%A0%E5%B0%9D%E8%AF%95%E7%BC%96%E5%86%99%E8%BF%90%E8%A1%8C%E5%9C%A8%20Node.js%20%E4%B8%AD%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E4%BD%A0%E4%BC%9A%E5%8F%91%E7%8E%B0%E8%BF%99%E6%B2%A1%E6%9C%89%E4%BD%A0%E6%83%B3%E8%B1%A1%E4%B8%AD%E7%9A%84%E9%82%A3%E4%B9%88%E9%A1%BA%E5%88%A9%E3%80%82%E4%BD%A0%E9%9C%80%E8%A6%81%E4%B8%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%BC%96%E5%86%99%E7%89%B9%E6%AE%8A%E7%9A%84%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%EF%BC%8C%E6%B3%A8%E6%84%8F%E8%BD%AC%E4%B9%89%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%EF%BC%8C%E7%84%B6%E5%90%8E%E6%9C%80%E7%BB%88%E4%B8%8E%20stdout%EF%BC%88%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%89%E5%92%8C%20stderr%EF%BC%88%E6%A0%87%E5%87%86%E9%94%99%E8%AF%AF%EF%BC%89%E6%89%93%E4%BA%A4%E9%81%93%E3%80%82%E8%BF%99%E4%B8%8D%E6%98%AF%E7%89%B9%E5%88%AB%E7%9B%B4%E8%A7%82%EF%BC%8C%E8%80%8C%E4%B8%94%E4%BC%9A%E4%BD%BF%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E7%9B%B8%E5%BD%93%E7%AC%A8%E6%8B%99%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EBash%20shell%20%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E6%99%AE%E9%81%8D%E9%80%89%E6%8B%A9%E3%80%82%E4%B8%8D%E9%9C%80%E8%A6%81%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%E6%9D%A5%E5%A4%84%E7%90%86%E5%AD%90%E8%BF%9B%E7%A8%8B%EF%BC%8C%E8%80%8C%E4%B8%94%E5%AE%83%E6%9C%89%E5%86%85%E7%BD%AE%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E6%9D%A5%E5%A4%84%E7%90%86%20stdout%20%E5%92%8C%20stderr%E3%80%82%E4%BD%86%E6%98%AF%E7%94%A8%20Bash%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E4%B9%9F%E4%B8%8D%E6%98%AF%E9%82%A3%E4%B9%88%E5%AE%B9%E6%98%93%E3%80%82%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9B%B8%E5%BD%93%E6%B7%B7%E4%B9%B1%EF%BC%8C%E4%BD%BF%E5%BE%97%E5%AE%83%E5%AE%9E%E7%8E%B0%E9%80%BB%E8%BE%91%EF%BC%8C%E6%88%96%E8%80%85%E5%A4%84%E7%90%86%E8%AF%B8%E5%A6%82%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E7%9A%84%E4%BA%8B%E6%83%85%E9%9D%9E%E5%B8%B8%E5%9B%B0%E9%9A%BE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%9C%89%E5%8A%A9%E4%BA%8E%E8%AE%A9%E4%BD%BF%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E9%AB%98%E6%95%88%E5%92%8C%E8%88%92%E9%80%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BE%80%E4%B8%8B%E9%98%85%E8%AF%BB%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%E9%9C%80%E8%A6%81%E9%81%B5%E5%BE%AA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%90%86%E6%83%B3%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E4%BD%A0%E5%BA%94%E8%AF%A5%E7%86%9F%E6%82%89%20JavaScript%20%E5%92%8C%20Node.js%20%E7%9A%84%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E9%80%82%E5%BA%94%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20Node.js%20%26gt%3B%3D%20v14.13.1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cbr%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E4%BB%8E%20GitHub%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DysCUhsc%252BhqUmtqCo55t8jw%253D%253D.aWhjUaPje6eTlkcFFdhW%252FeIVYyAz5G%252FoPbGuXjsxlpcJphMKguwz3NoHWQ9o2vDb47Nfnm9kpIP6Ol5r6Euc8A%253D%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E8%8E%B7%E5%BE%97%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E8%BF%90%E4%BD%9C%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EGoogle%20%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%88%9B%E5%BB%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%A4%84%E7%90%86%E8%BF%99%E4%BA%9B%E8%BF%9B%E7%A8%8B%E7%9A%84%20stdout%20%E5%92%8C%20stderr%20%E7%9A%84%E5%87%BD%E6%95%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E7%9A%84%E4%B8%BB%E8%A6%81%E5%87%BD%E6%95%B0%E6%98%AF%24%E5%87%BD%E6%95%B0%E3%80%82%E4%B8%8B%E9%9D%A2%E6%98%AF%E5%AE%83%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AE%9E%E9%99%85%E4%BE%8B%E5%AD%90%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnawait%26nbsp%3B%24%60ls%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E6%89%A7%E8%A1%8C%E4%B8%8A%E8%BF%B0%E4%BB%A3%E7%A0%81%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnbootstrap-tool%5Cnhello-world%5Cnnode_modules%5Cnpackage.json%5CnREADME.md%5Cntypescript%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%E7%9A%84%20JavaScript%20%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9C%8B%E8%B5%B7%E6%9D%A5%E6%9C%89%E7%82%B9%E5%8F%A4%E6%80%AA%E3%80%82%E5%AE%83%E4%BD%BF%E7%94%A8%E4%BA%86%E4%B8%80%E7%A7%8D%E5%8F%AB%E5%81%9A%E5%B8%A6%E6%A0%87%E7%AD%BE%E7%9A%84%E6%A8%A1%E6%9D%BF%E5%AD%97%E7%AC%A6%E4%B8%B2%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DVUkodq5er%252Fynbhfl3MUQZA%253D%253D.%252Flx6oaDCVK4XuYyYLqvDi2QMWjCwW1jKBvNQgfaGG0AVwpl7I2CYD4sJYHuonDSA6jj1qSSypc0aGVO%252BYuBMUiibG6pBkVwusg%252Bai1hbMXetqlwMTWVUEAbtabMCbXIs%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E3%80%82%E5%AE%83%E5%9C%A8%E5%8A%9F%E8%83%BD%E4%B8%8A%E4%B8%8E%E7%BC%96%E5%86%99%20await%20%24(%26%2334%3Bls%26%2334%3B)%E7%9B%B8%E5%90%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%85%B6%E4%BB%96%E5%87%A0%E4%B8%AA%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%EF%BC%8C%E4%BD%BF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E6%9B%B4%E5%AE%B9%E6%98%93%E3%80%82%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ecd()%E3%80%82%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E6%9B%B4%E6%94%B9%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Equestion()%E3%80%82%E8%BF%99%E6%98%AF%20Node.js%20readline%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%8C%85%E8%A3%85%E5%99%A8%E3%80%82%E5%AE%83%E4%BD%BF%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E5%8F%98%E5%BE%97%E7%AE%80%E5%8D%95%E6%98%8E%E4%BA%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%99%A4%E4%BA%86%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%A4%96%EF%BC%8C%E5%AE%83%E8%BF%98%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E5%87%A0%E4%B8%AA%E6%B5%81%E8%A1%8C%E7%9A%84%E5%BA%93%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Echalk%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D%252FL15Y8OQNrp05Scx6N4iaQ%253D%253D.r8AZkfcE1Ye%252BlNUznFA9RNJMhfyM0lttTiD0TmqjJQwoi7zjQjs5YiLjI%252FWDEooY%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%99%E4%B8%AA%E5%BA%93%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E4%B8%BA%E8%84%9A%E6%9C%AC%E7%9A%84%E8%BE%93%E5%87%BA%E6%B7%BB%E5%8A%A0%E9%A2%9C%E8%89%B2%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Eminimist%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5tMQ5d6qJ4STEHZeuiN0MA%253D%253D.x9GPOpXVZp5TGKknZCkwA10QP%252Ftw%252BW7fwnpYGg%252BnlJPJLK3RboT3jqy5WuPLFwPZ%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E4%B8%AA%E8%A7%A3%E6%9E%90%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E7%9A%84%E5%BA%93%E3%80%82%E7%84%B6%E5%90%8E%E5%AE%83%E4%BB%AC%E5%9C%A8%20argv%20%E5%AF%B9%E8%B1%A1%E4%B8%8B%E8%A2%AB%E6%9A%B4%E9%9C%B2%E5%87%BA%E6%9D%A5%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efetch%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D71LC44tCu%252FZoLOY2B7MfuA%253D%253D.GO%252FMi37T0KTmj8UXau9xdFUBiIk1I%252F8M%252FHk2hZYrhRb%252Fd3Vl0bzlr05hanNxzuVb%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EFetch%20API%20%E7%9A%84%20Node.js%20%E5%AE%9E%E7%8E%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E8%BF%9B%E8%A1%8C%20HTTP%20%E8%AF%B7%E6%B1%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efs-extra%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DcPZzXniTRFJdbq87FdwLWw%253D%253D.IsmhSUEjIcZAqw8FDidbUnNhhIVPT1gsFSo%252BchiXCAs9AaxUVT%252FEgbIvswUDVmK2%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%B8%80%E4%B8%AA%E6%9A%B4%E9%9C%B2%20Node.js%20%E6%A0%B8%E5%BF%83%20fs%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%BA%93%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B9%E6%B3%95%EF%BC%8C%E4%BD%BF%E5%85%B6%E6%9B%B4%E5%AE%B9%E6%98%93%E4%B8%8E%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%80%E8%B5%B7%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9F%A5%E9%81%93%E4%BA%86%20zx%20%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E4%BB%80%E4%B9%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E7%94%A8%E5%AE%83%E5%88%9B%E5%BB%BA%E7%AC%AC%E4%B8%80%E4%B8%AA%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bzx-shell-scripts%5Cncd%26nbsp%3Bzx-shell-scripts%5Cnnpm%26nbsp%3Binit%26nbsp%3B--yes%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%AE%89%E8%A3%85%20zx%20%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bzx%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E7%9A%84%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E7%94%A8%20npm%20%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E8%AF%A5%E5%BA%93%E3%80%82%E9%80%9A%E8%BF%87%E5%B0%86%E5%85%B6%E5%AE%89%E8%A3%85%E4%B8%BA%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%A1%AE%E4%BF%9D%20zx%20%E6%80%BB%E6%98%AF%E8%A2%AB%E5%AE%89%E8%A3%85%EF%BC%8C%E5%B9%B6%E6%8E%A7%E5%88%B6%20shell%20%E8%84%9A%E6%9C%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E7%89%88%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A1%B6%E7%BA%A7%20await%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%20Node.js%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E9%A1%B6%E7%BA%A7%20await%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%20await%20%E4%BD%8D%E4%BA%8E%20async%20%E5%87%BD%E6%95%B0%E7%9A%84%E5%A4%96%E9%83%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%9C%A8%20ES%20%E6%A8%A1%E5%9D%97%E7%9A%84%E6%A8%A1%E5%BC%8F%E4%B8%8B%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%EF%BC%8C%E8%AF%A5%E6%A8%A1%E5%BC%8F%E6%94%AF%E6%8C%81%E9%A1%B6%E7%BA%A7%20await%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%20package.json%20%E4%B8%AD%E6%B7%BB%E5%8A%A0%20%26%2334%3Btype%26%2334%3B%3A%20%26%2334%3Bmodule%26%2334%3B%20%E6%80%8E%E4%B9%88%E6%80%8E%E4%B9%88%E6%9D%A5%E8%A1%A8%E6%98%8E%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%A8%A1%E5%9D%97%E9%83%BD%E6%98%AF%20ES%20%E6%A8%A1%E5%9D%97%E3%80%82%E6%88%96%E8%80%85%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%B0%86%E5%8D%95%E4%B8%AA%E8%84%9A%E6%9C%AC%E7%9A%84%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E8%AE%BE%E7%BD%AE%E4%B8%BA%20.mjs%20%E3%80%82%E5%9C%A8%E6%9C%AC%E6%96%87%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20.mjs%20%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E5%B9%B6%E6%8D%95%E8%8E%B7%E8%BE%93%E5%87%BA%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B0%86%E5%85%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world.mjs%20%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%AE%83%E5%91%8A%E8%AF%89%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%88OS%EF%BC%89%E7%9A%84%E5%86%85%E6%A0%B8%E8%A6%81%E7%94%A8%20node%20%E7%A8%8B%E5%BA%8F%E8%BF%90%E8%A1%8C%E8%AF%A5%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%BA%9B%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%BD%BF%E7%94%A8%20zx%20%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8B%E9%9D%A2%E7%9A%84%E4%BB%A3%E7%A0%81%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%20ls%20%E7%A8%8B%E5%BA%8F%E3%80%82ls%20%E7%A8%8B%E5%BA%8F%E5%B0%86%E5%88%97%E5%87%BA%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%88%E8%84%9A%E6%9C%AC%E6%89%80%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%EF%BC%89%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BB%8E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BF%9B%E7%A8%8B%E4%B8%AD%E6%8D%95%E8%8E%B7%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B0%86%E5%85%B6%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E7%84%B6%E5%90%8E%E6%89%93%E5%8D%B0%E5%88%B0%E7%BB%88%E7%AB%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cnconsole.log(output)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E6%8A%8A%2Fusr%2Fbin%2Fenv%20zx%20%E6%94%BE%E5%9C%A8%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E7%9A%84%20shebang%20%E8%A1%8C%E4%B8%AD%EF%BC%8C%E4%BD%86%E6%88%91%E4%BB%AC%E7%94%A8%2Fusr%2Fbin%2Fenv%20node%20%E4%BB%A3%E6%9B%BF%E3%80%82%E8%BF%99%E6%98%AF%E5%9B%A0%E4%B8%BA%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%20zx%EF%BC%8C%E5%B9%B6%E4%BD%9C%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E6%98%8E%E7%A1%AE%E5%9C%B0%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E6%83%B3%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%E3%80%82%E8%BF%99%E6%9C%89%E5%8A%A9%E4%BA%8E%E6%98%8E%E7%A1%AE%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E4%BE%9D%E8%B5%96%E6%9D%A5%E8%87%AA%E5%93%AA%E9%87%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%20chmod%20%E6%9D%A5%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E5%A6%82%E4%B8%8B%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%88ls%EF%BC%89%E8%A2%AB%E5%8C%85%E5%90%AB%E5%9C%A8%E8%BE%93%E5%87%BA%E4%B8%AD%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%E6%98%BE%E7%A4%BA%E4%B8%A4%E6%AC%A1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BE%93%E5%87%BA%E7%9A%84%E6%9C%AB%E5%B0%BE%E5%A4%9A%E4%BA%86%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E9%BB%98%E8%AE%A4%E4%BB%A5%20verbose%20%E6%A8%A1%E5%BC%8F%E8%BF%90%E8%A1%8C%E3%80%82%E5%AE%83%E5%B0%86%E8%BE%93%E5%87%BA%E4%BD%A0%E4%BC%A0%E9%80%92%E7%BB%99%24%E5%87%BD%E6%95%B0%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%90%8C%E6%97%B6%E4%B9%9F%E8%BE%93%E5%87%BA%E8%AF%A5%E5%91%BD%E4%BB%A4%E7%9A%84%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%E8%BF%90%E8%A1%8C%20ls%20%E5%91%BD%E4%BB%A4%E5%89%8D%E5%8A%A0%E5%85%A5%E4%BB%A5%E4%B8%8B%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E6%9D%A5%E6%94%B9%E5%8F%98%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A4%A7%E5%A4%9A%E6%95%B0%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%A6%82%20ls%EF%BC%8C%E4%BC%9A%E5%9C%A8%E5%85%B6%E8%BE%93%E5%87%BA%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E5%AD%97%E7%AC%A6%EF%BC%8C%E4%BB%A5%E4%BD%BF%E8%BE%93%E5%87%BA%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E6%9B%B4%E6%98%93%E8%AF%BB%E3%80%82%E8%BF%99%E5%AF%B9%E5%8F%AF%E8%AF%BB%E6%80%A7%E6%9C%89%E5%A5%BD%E5%A4%84%EF%BC%8C%E4%BD%86%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E8%A6%81%E5%B0%86%E8%BE%93%E5%87%BA%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E6%9C%89%E8%BF%99%E4%B8%AA%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B0%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%20JavaScript%20String%23trim()%E5%87%BD%E6%95%B0%E6%8A%8A%E5%AE%83%E5%8E%BB%E6%8E%89%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E-%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cn%2B%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout.trim()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%86%8D%E6%AC%A1%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E7%BB%93%E6%9E%9C%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%A5%BD%E5%BE%88%E5%A4%9A%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ehello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%BC%95%E5%85%A5%20TypeScript%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E6%83%B3%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%BC%96%E5%86%99%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%BE%AE%E5%B0%8F%E7%9A%84%E5%8C%BA%E5%88%AB%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%8A%A0%E4%BB%A5%E8%AF%B4%E6%98%8E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9ATypeScript%20%E7%BC%96%E8%AF%91%E5%99%A8%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E5%AE%83%E5%A6%82%E4%BD%95%E7%BC%96%E8%AF%91%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%E8%80%83%E8%99%91%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E4%B8%8B%E9%9D%A2%E7%9A%84%20TypeScript%20%E9%85%8D%E7%BD%AE%E5%92%8C%E4%BB%A3%E7%A0%81%E6%98%AF%E4%B8%BA%E4%BA%86%E5%9C%A8%E5%A4%A7%E5%A4%9A%E6%95%B0%20TypeScript%20%E7%89%88%E6%9C%AC%E4%B8%8B%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E5%AE%89%E8%A3%85%E9%9C%80%E8%A6%81%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E7%9A%84%E4%BE%9D%E8%B5%96%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Btypescript%26nbsp%3Bts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ets-node%20%E5%8C%85%E6%8F%90%E4%BE%9B%E4%BA%86%E4%B8%80%E4%B8%AA%20TypeScript%20%E6%89%A7%E8%A1%8C%E5%BC%95%E6%93%8E%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E8%83%BD%E5%A4%9F%E8%BD%AC%E8%AF%91%E5%92%8C%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%9C%80%E8%A6%81%E5%88%9B%E5%BB%BA%20tsconfig.json%20%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E4%B8%8B%E9%9D%A2%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%7B%5Cn%26%2334%3BcompilerOptions%26%2334%3B%3A%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Btarget%26%2334%3B%3A%26nbsp%3B%26%2334%3Bes2017%26%2334%3B%2C%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Bmodule%26%2334%3B%3A%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5Cn%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E6%96%B0%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B9%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world-typescript.ts%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E6%B7%BB%E5%8A%A0%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%91%8A%E8%AF%89%20OS%20%E5%86%85%E6%A0%B8%E4%BD%BF%E7%94%A8%20ts-node%20%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B.%2Fnode_modules%2F.bin%2Fts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E4%B8%AD%E4%BD%BF%E7%94%A8%20await%20%E5%85%B3%E9%94%AE%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E6%8A%8A%E5%AE%83%E5%8C%85%E8%A3%85%E5%9C%A8%E4%B8%80%E4%B8%AA%E7%AB%8B%E5%8D%B3%E8%B0%83%E7%94%A8%E5%87%BD%E6%95%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%EF%BC%88IIFE%EF%BC%89%E4%B8%AD%EF%BC%8C%E6%AD%A3%E5%A6%82%20zx%20%E6%96%87%E6%A1%A3%E6%89%80%E5%BB%BA%E8%AE%AE%E7%9A%84%E9%82%A3%E6%A0%B7%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world-typescript.ts%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnvoid%26nbsp%3B(async%26nbsp%3Bfunction%26nbsp%3B()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60ls%60%3B%5Cn%7D)()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E9%9C%80%E8%A6%81%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E4%B8%8B%E9%9D%A2%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world-typescript.ts%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cntsconfig.json%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%E8%84%9A%E6%9C%AC%E4%B8%8E%E4%BD%BF%E7%94%A8%20JavaScript%20%E7%9B%B8%E4%BC%BC%EF%BC%8C%E4%BD%86%E9%9C%80%E8%A6%81%E5%AF%B9%E6%88%91%E4%BB%AC%E7%9A%84%E4%BB%A3%E7%A0%81%E8%BF%9B%E8%A1%8C%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E9%85%8D%E7%BD%AE%E5%92%8C%E5%8C%85%E8%A3%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%9E%84%E5%BB%BA%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E7%94%A8%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AF%86%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E7%94%A8%E5%AE%83%E6%9D%A5%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B7%A5%E5%85%B7%E3%80%82%E8%BF%99%E4%B8%AA%E5%B7%A5%E5%85%B7%E5%B0%86%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E9%80%9A%E5%B8%B8%E5%BE%88%E8%80%97%E6%97%B6%E7%9A%84%E8%BF%87%E7%A8%8B%EF%BC%9A%E4%B8%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E7%9A%84%E9%85%8D%E7%BD%AE%E6%8F%90%E4%BE%9B%E5%BC%95%E5%AF%BC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BA%A4%E4%BA%92%E5%BC%8F%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E3%80%82%E5%AE%83%E8%BF%98%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E5%86%85%E7%BD%AE%E7%9A%84%20chalk%20%E5%BA%93%EF%BC%8C%E4%BB%A5%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A2%9C%E8%89%B2%E9%AB%98%E4%BA%AE%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B9%B6%E6%8F%90%E4%BE%9B%E4%B8%80%E4%B8%AA%E5%8F%8B%E5%A5%BD%E7%9A%84%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C%E3%80%82%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E8%BF%98%E5%B0%86%E5%AE%89%E8%A3%85%E6%96%B0%E9%A1%B9%E7%9B%AE%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%EF%BC%8C%E6%89%80%E4%BB%A5%E5%AE%83%E5%B7%B2%E7%BB%8F%E5%87%86%E5%A4%87%E5%A5%BD%E8%AE%A9%E6%88%91%E4%BB%AC%E7%AB%8B%E5%8D%B3%E5%BC%80%E5%A7%8B%E5%BC%80%E5%8F%91%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%87%86%E5%A4%87%E5%BC%80%E5%A7%8B%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%90%8D%E4%B8%BA%20bootstrap-tool.mjs%20%E7%9A%84%E6%96%B0%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B9%B6%E6%B7%BB%E5%8A%A0%20shebang%20%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E6%A8%A1%E5%9D%97%EF%BC%8C%E4%BB%A5%E5%8F%8A%20Node.js%20%E6%A0%B8%E5%BF%83%20path%20%E6%A8%A1%E5%9D%97%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%2F%2F%26nbsp%3Bbootstrap-tool.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%2C%26nbsp%3Bargv%2C%26nbsp%3Bcd%2C%26nbsp%3Bchalk%2C%26nbsp%3Bfs%2C%26nbsp%3Bquestion%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnimport%26nbsp%3Bpath%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bpath%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8E%E6%88%91%E4%BB%AC%E4%B9%8B%E5%89%8D%E5%88%9B%E5%BB%BA%E7%9A%84%E8%84%9A%E6%9C%AC%E4%B8%80%E6%A0%B7%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bbootstrap-tool.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E7%94%A8%E7%BA%A2%E8%89%B2%E6%96%87%E6%9C%AC%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%EF%BC%8C%E5%B9%B6%E4%BB%A5%E9%94%99%E8%AF%AF%E9%80%80%E5%87%BA%E4%BB%A3%E7%A0%81%201%20%E9%80%80%E5%87%BA%20Node.js%20%E8%BF%9B%E7%A8%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Efunction%26nbsp%3BexitWithError(errorMessage)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconsole.error(chalk.red(errorMessage))%3B%5Cn%26nbsp%3B%26nbsp%3Bprocess.exit(1)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BD%93%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%A4%84%E7%90%86%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E9%80%9A%E8%BF%87%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%9C%A8%E5%90%84%E4%B8%AA%E5%9C%B0%E6%96%B9%E4%BD%BF%E7%94%A8%E8%BF%99%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%E4%B8%89%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%9Agit%E3%80%81node%20%E5%92%8C%20npx%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20which%20%E5%BA%93%E6%9D%A5%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E6%A3%80%E6%9F%A5%E8%BF%99%E4%BA%9B%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%E5%B9%B6%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20which%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bwhich%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%BC%95%E5%85%A5%E5%AE%83%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3Bwhich%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bwhich%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BD%BF%E7%94%A8%E5%AE%83%E7%9A%84%20checkRequiredProgramsExist%20%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckRequiredProgramsExist(programs)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3Bprogram%26nbsp%3Bof%26nbsp%3Bprograms)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bwhich(program)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BRequired%26nbsp%3Bcommand%26nbsp%3B%24%7Berror.message%7D%60)%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%90%8D%E7%A7%B0%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%95%B0%E7%BB%84%EF%BC%8C%E5%AF%B9%E6%AF%8F%E4%B8%AA%E7%A8%8B%E5%BA%8F%E8%B0%83%E7%94%A8%20which%20%E5%87%BD%E6%95%B0%E3%80%82%E5%A6%82%E6%9E%9C%20which%20%E6%89%BE%E5%88%B0%E4%BA%86%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%B7%AF%E5%BE%84%EF%BC%8C%E5%AE%83%E5%B0%86%E8%BF%94%E5%9B%9E%E8%AF%A5%E7%A8%8B%E5%BA%8F%E3%80%82%E5%90%A6%E5%88%99%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%AF%A5%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E6%8A%9B%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E3%80%82%E5%A6%82%E6%9E%9C%E6%9C%89%E4%BB%BB%E4%BD%95%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E8%B0%83%E7%94%A8%20exitWithError%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%E5%B9%B6%E5%81%9C%E6%AD%A2%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%8F%AF%E4%BB%A5%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%AF%B9%20checkRequiredProgramsExist%20%E7%9A%84%E8%B0%83%E7%94%A8%EF%BC%8C%E4%BB%A5%E6%A3%80%E6%9F%A5%E6%88%91%E4%BB%AC%E7%9A%84%E5%B7%A5%E5%85%B7%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%8F%AF%E7%94%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckRequiredProgramsExist(%5B%26%2334%3Bgit%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnode%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnpx%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%B7%BB%E5%8A%A0%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E9%80%89%E9%A1%B9%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%B0%86%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E5%90%AF%E5%8A%A8%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%88%91%E4%BB%AC%E5%B8%8C%E6%9C%9B%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9A%84%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E3%80%82%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E8%A6%81%E7%BB%99%E8%84%9A%E6%9C%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20--directory%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E5%86%85%E7%BD%AE%E4%BA%86%20minimist%20%E5%8C%85%EF%BC%8C%E5%AE%83%E8%83%BD%E5%A4%9F%E8%A7%A3%E6%9E%90%E4%BC%A0%E9%80%92%E7%BB%99%E8%84%9A%E6%9C%AC%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%E8%BF%99%E4%BA%9B%E8%A2%AB%E8%A7%A3%E6%9E%90%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E8%A2%AB%20zx%20%E5%8C%85%E4%BD%9C%E4%B8%BA%20argv%20%E6%8F%90%E4%BE%9B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E5%90%8D%E4%B8%BA%20directory%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E6%A3%80%E6%9F%A5%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Elet%26nbsp%3BtargetDirectory%26nbsp%3B%3D%26nbsp%3Bargv.directory%3B%5Cnif%26nbsp%3B(!targetDirectory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%26%2334%3BError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%26%2334%3B)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%20directory%20%E5%8F%82%E6%95%B0%E8%A2%AB%E4%BC%A0%E9%80%92%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%E5%AE%83%E6%98%AF%E5%90%A6%E6%98%AF%E5%B7%B2%E7%BB%8F%E5%AD%98%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%E7%9A%84%E8%B7%AF%E5%BE%84%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%8F%90%E4%BE%9B%E7%9A%84%20fs.pathExists%20%E6%96%B9%E6%B3%95%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3EtargetDirectory%26nbsp%3B%3D%26nbsp%3Bpath.resolve(targetDirectory)%3B%5Cnif%26nbsp%3B(!(await%26nbsp%3Bfs.pathExists(targetDirectory)))%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BTarget%26nbsp%3Bdirectory%26nbsp%3B%26%2339%3B%24%7BtargetDirectory%7D%26%2339%3B%26nbsp%3Bdoes%26nbsp%3Bnot%26nbsp%3Bexist%60)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E8%B7%AF%E5%BE%84%E5%AD%98%E5%9C%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%20cd%20%E5%87%BD%E6%95%B0%E6%9D%A5%E5%88%87%E6%8D%A2%E5%BD%93%E5%89%8D%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%9A%E2%80%8D%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ecd(targetDirectory)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%9C%A8%E6%B2%A1%E6%9C%89--directory%20%E5%8F%82%E6%95%B0%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E5%BA%94%E8%AF%A5%E4%BC%9A%E6%94%B6%E5%88%B0%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3B.%2Fbootstrap-tool.mjs%5CnError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E5%85%A8%E5%B1%80%20Git%20%E8%AE%BE%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%A8%8D%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%8C%E4%BD%86%E9%A6%96%E5%85%88%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%20Git%20%E6%98%AF%E5%90%A6%E6%9C%89%E5%AE%83%E9%9C%80%E8%A6%81%E7%9A%84%E9%85%8D%E7%BD%AE%E3%80%82%E6%88%91%E4%BB%AC%E8%A6%81%E7%A1%AE%E4%BF%9D%E6%8F%90%E4%BA%A4%E4%BC%9A%E8%A2%AB%20GitHub%20%E7%AD%89%E4%BB%A3%E7%A0%81%E6%89%98%E7%AE%A1%E6%9C%8D%E5%8A%A1%E6%AD%A3%E7%A1%AE%E5%BD%92%E7%B1%BB%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%81%9A%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E8%BF%99%E9%87%8C%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E7%B4%A2%20Git%20%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%E7%9A%84%E5%80%BC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetGlobalGitSettingValue(settingName)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B%26%2334%3B%26%2334%3B%3B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60git%26nbsp%3Bconfig%26nbsp%3B--global%26nbsp%3B--get%26nbsp%3B%24%7BsettingName%7D%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B).stdout.trim()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%2F%2F%26nbsp%3BIgnore%26nbsp%3Bprocess%26nbsp%3Boutput%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BsettingValue%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E5%85%B3%E9%97%AD%20zx%20%E9%BB%98%E8%AE%A4%E8%AE%BE%E7%BD%AE%E7%9A%84%20verbose%20%E6%A8%A1%E5%BC%8F%E3%80%82%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%EF%BC%8C%E5%BD%93%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%97%B6%EF%BC%8C%E8%AF%A5%E5%91%BD%E4%BB%A4%E5%92%8C%E5%AE%83%E5%8F%91%E9%80%81%E5%88%B0%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E7%9A%84%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9%E9%83%BD%E4%B8%8D%E4%BC%9A%E8%A2%AB%E6%98%BE%E7%A4%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%9C%A8%E5%87%BD%E6%95%B0%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E5%B0%86%20verbose%20%E6%A8%A1%E5%BC%8F%E9%87%8D%E6%96%B0%E6%89%93%E5%BC%80%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E5%BD%B1%E5%93%8D%E5%88%B0%E6%88%91%E4%BB%AC%E7%A8%8D%E5%90%8E%E5%9C%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%85%B6%E4%BB%96%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%20checkGlobalGitSettings%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A5%E5%87%BD%E6%95%B0%E6%8E%A5%E6%94%B6%20Git%20%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%E7%BB%84%E6%88%90%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%B0%86%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%AF%8F%E4%B8%AA%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E4%BC%A0%E9%80%92%E7%BB%99%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E4%BB%A5%E6%A3%80%E7%B4%A2%E5%85%B6%E5%80%BC%E3%80%82%E5%A6%82%E6%9E%9C%E8%AE%BE%E7%BD%AE%E6%B2%A1%E6%9C%89%E5%80%BC%EF%BC%8C%E5%B0%86%E6%98%BE%E7%A4%BA%E8%AD%A6%E5%91%8A%E4%BF%A1%E6%81%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckGlobalGitSettings(settingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3BsettingName%26nbsp%3Bof%26nbsp%3BsettingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetGlobalGitSettingValue(settingName)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!settingValue)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.warn(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.yellow(%60Warning%3A%26nbsp%3BGlobal%26nbsp%3Bgit%26nbsp%3Bsetting%26nbsp%3B%26%2339%3B%24%7BsettingName%7D%26%2339%3B%26nbsp%3Bis%26nbsp%3Bnot%26nbsp%3Bset.%60)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E7%BB%99%20checkGlobalGitSettings%20%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E8%B0%83%E7%94%A8%EF%BC%8C%E6%A3%80%E6%9F%A5%20user.name%20%E5%92%8C%20user.email%20%E7%9A%84%20Git%20%E8%AE%BE%E7%BD%AE%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E8%A2%AB%E8%AE%BE%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckGlobalGitSettings(%5B%26%2334%3Buser.name%26%2334%3B%2C%26nbsp%3B%26%2334%3Buser.email%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%88%9D%E5%A7%8B%E5%8C%96%20Git%20%E4%BB%93%E5%BA%93%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E6%B7%BB%E5%8A%A0%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Binit%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20package.json%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%AF%8F%E4%B8%AA%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%83%BD%E9%9C%80%E8%A6%81%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E8%BF%99%E6%98%AF%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E5%AE%9A%E4%B9%89%E5%85%83%E6%95%B0%E6%8D%AE%E7%9A%84%E5%9C%B0%E6%96%B9%EF%BC%8C%E6%8C%87%E5%AE%9A%E9%A1%B9%E7%9B%AE%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E5%8C%85%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%B7%BB%E5%8A%A0%E5%AE%9E%E7%94%A8%E7%9A%84%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%94%9F%E6%88%90%20package.json%20%E6%96%87%E4%BB%B6%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E5%87%A0%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%98%AF%20readPackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%AF%BB%E5%8F%96%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BreadPackageJson(directory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3Bfs.readJSON(packageJsonFilepath)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20writePackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E5%90%91%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E5%86%99%E5%85%A5%E6%9B%B4%E6%94%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BwritePackageJson(directory%2C%26nbsp%3Bcontents)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bfs.writeJSON(packageJsonFilepath%2C%26nbsp%3Bcontents%2C%26nbsp%3B%7B%26nbsp%3Bspaces%3A%26nbsp%3B2%26nbsp%3B%7D)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%20fs.readJSON%20%E5%92%8C%20fs.writeJSON%20%E6%96%B9%E6%B3%95%E6%98%AF%E7%94%B1%20fs-extra%20%E5%BA%93%E6%8F%90%E4%BE%9B%E7%9A%84%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E5%AE%9A%E4%B9%89%E4%BA%86%20package.json%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%BC%80%E5%A7%8B%E8%80%83%E8%99%91%20package.json%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E6%94%AF%E6%8C%81%E4%B8%A4%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ECommonJS%20Modules%20(CJS)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DKTweLvts6a1zOlUbn0cnCA%253D%253D.WRSoJ3t37Y2GYjanjStt81N%252BkCOGoR11gK8pv6Fck09uaKTSXHq5mvMcWutIRxYU%3C%2Fspan%3E%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%BF%E7%94%A8%20module.exports%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20require()%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EECMAScript%20Modules%20(ESM)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DOUbF%252BkjeOpAlt3Fo9PFGFw%253D%253D.Ex%252BQVnop7rVNKtYxrnp%252Fhcm08eFRE7K2XLUBlFFQ7D4%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%BD%BF%E7%94%A8%20export%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20import%20%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E7%94%9F%E6%80%81%E7%B3%BB%E7%BB%9F%E6%AD%A3%E5%9C%A8%E9%80%90%E6%AD%A5%E9%87%87%E7%94%A8%20ES%20%E6%A8%A1%E5%9D%97%EF%BC%8C%E8%BF%99%E5%9C%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%20JavaScript%20%E4%B8%AD%E6%98%AF%E5%BE%88%E5%B8%B8%E8%A7%81%E7%9A%84%E3%80%82%E5%BD%93%E4%BA%8B%E6%83%85%E5%A4%84%E4%BA%8E%E8%BF%87%E6%B8%A1%E9%98%B6%E6%AE%B5%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%86%B3%E5%AE%9A%E6%88%91%E4%BB%AC%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%BB%98%E8%AE%A4%E4%BD%BF%E7%94%A8%20CJS%20%E6%A8%A1%E5%9D%97%E8%BF%98%E6%98%AF%20ESM%20%E6%A8%A1%E5%9D%97%E3%80%82%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%BF%99%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForModuleSystem(moduleSystems)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Which%26nbsp%3BNode.js%26nbsp%3Bmodule%26nbsp%3Bsystem%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Buse%3F%26nbsp%3B(%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26nbsp%3Bor%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D)%26nbsp%3B%60%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchoices%3A%26nbsp%3BmoduleSystems%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BmoduleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E5%87%BD%E6%95%B0%E4%BD%BF%E7%94%A8%E7%9A%84%20question%20%E5%87%BD%E6%95%B0%E7%94%B1%20zx%20%E6%8F%90%E4%BE%9B%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getNodeModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E8%B0%83%E7%94%A8%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E6%A3%80%E6%9F%A5%E6%89%80%E8%BE%93%E5%85%A5%E7%9A%84%E5%80%BC%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%8D%E6%98%AF%EF%BC%8C%E5%AE%83%E5%B0%86%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetNodeModuleSystem()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystems%26nbsp%3B%3D%26nbsp%3B%5B%26%2334%3Bmodule%26%2334%3B%2C%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForModuleSystem(moduleSystems)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BisValidModuleSystem%26nbsp%3B%3D%26nbsp%3BmoduleSystems.includes(selectedModuleSystem)%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!isValidModuleSystem)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BModule%26nbsp%3Bsystem%26nbsp%3Bmust%26nbsp%3Bbe%26nbsp%3Beither%26nbsp%3B%26%2339%3B%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26%2339%3B%26nbsp%3Bor%26nbsp%3B%26%2339%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%26%2339%3B%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BselectedModuleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E8%BF%90%E8%A1%8C%20npm%20init%20%E5%91%BD%E4%BB%A4%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npm%26nbsp%3Binit%26nbsp%3B--yes%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E8%AF%BB%E5%8F%96%E6%96%B0%E5%88%9B%E5%BB%BA%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E8%AF%A2%E9%97%AE%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%B3%BB%E7%BB%9F%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA%20packageJson%20%E5%AF%B9%E8%B1%A1%E4%B8%AD%E7%9A%84%20type%20%E5%B1%9E%E6%80%A7%E5%80%BC%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%E5%85%B6%E5%86%99%E5%9B%9E%E5%88%B0%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackageJson%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5CnpackageJson.type%26nbsp%3B%3D%26nbsp%3BselectedModuleSystem%3B%5Cnawait%26nbsp%3BwritePackageJson(targetDirectory%2C%26nbsp%3BpackageJson)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%8F%90%E7%A4%BA%EF%BC%9A%E5%BD%93%E4%BD%A0%E7%94%A8--yes%20%E6%A0%87%E5%BF%97%E8%BF%90%E8%A1%8C%20npm%20init%20%E6%97%B6%EF%BC%8C%E8%A6%81%E6%83%B3%E5%9C%A8%20package.json%20%E4%B8%AD%E8%8E%B7%E5%BE%97%E5%90%88%E7%90%86%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%EF%BC%8C%E8%AF%B7%E7%A1%AE%E4%BF%9D%E4%BD%A0%E8%AE%BE%E7%BD%AE%E4%BA%86%20npminit-*%E7%9A%84%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DX0aVKO8sVtj0bgZhFmgjVw%253D%253D.hxYbJxX5X2odlcPpk5MdIVLkT7ESAsFMhFnFSRBftI2c2BjNTUCtV1gwdXnpxWGI%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E9%A1%B9%E7%9B%AE%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E4%BD%BF%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E5%90%8E%E8%83%BD%E5%A4%9F%E8%BD%BB%E6%9D%BE%E5%9C%B0%E5%BC%80%E5%A7%8B%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForPackages%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E5%93%AA%E4%BA%9B%20npm%20%E5%8C%85%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForPackages()%26nbsp%3B%7B%5Cnlet%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3BWhich%26nbsp%3Bnpm%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Binstall%26nbsp%3Bfor%26nbsp%3Bthis%26nbsp%3Bproject%3F%26nbsp%3B%26%2334%3B%5Cn)%3B%5CnpackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall%5Cn%26nbsp%3B%26nbsp%3B.trim()%5Cn%26nbsp%3B%26nbsp%3B.split(%26%2334%3B%26nbsp%3B%26%2334%3B)%5Cn%26nbsp%3B%26nbsp%3B.filter((pkg)%26nbsp%3B%3D%26gt%3B%26nbsp%3Bpkg)%3B%5Cnreturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E9%98%B2%E6%AD%A2%E6%88%91%E4%BB%AC%E5%9C%A8%E8%BE%93%E5%85%A5%E5%8C%85%E5%90%8D%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E5%88%AB%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20identifyInvalidNpmPackages%20%E5%87%BD%E6%95%B0%E3%80%82%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E5%B0%86%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%20npm%20%E5%8C%85%E5%90%8D%E6%95%B0%E7%BB%84%EF%BC%8C%E7%84%B6%E5%90%8E%E8%BF%90%E8%A1%8C%20npm%20view%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E6%9F%A5%E5%AE%83%E4%BB%AC%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BidentifyInvalidNpmPackages(packages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3B%5B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(const%26nbsp%3Bpkg%26nbsp%3Bof%26nbsp%3Bpackages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Bview%26nbsp%3B%24%7Bpkg%7D%60%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BinvalidPackages.push(pkg)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BinvalidPackages%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getPackagesToInstall%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E5%88%9A%E5%88%9A%E5%88%9B%E5%BB%BA%E7%9A%84%E4%B8%A4%E4%B8%AA%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetPackagesToInstall()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForPackages()%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BidentifyInvalidNpmPackages(packagesToInstall)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BallPackagesExist%26nbsp%3B%3D%26nbsp%3BinvalidPackages.length%26nbsp%3B%3D%3D%3D%26nbsp%3B0%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!allPackagesExist)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BThe%26nbsp%3Bfollowing%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Bnot%26nbsp%3Bexist%26nbsp%3Bon%26nbsp%3Bnpm%3A%26nbsp%3B%24%7BinvalidPackages.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%2C%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%9C%89%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%90%8D%E7%A7%B0%E4%B8%8D%E6%AD%A3%E7%A1%AE%EF%BC%8C%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E6%97%A6%E6%88%91%E4%BB%AC%E5%BE%97%E5%88%B0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E6%9C%89%E6%95%88%E5%8C%85%E5%88%97%E8%A1%A8%EF%BC%8C%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20npm%20install%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E5%AE%89%E8%A3%85%E5%AE%83%E4%BB%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cnconst%26nbsp%3BhavePackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall.length%26nbsp%3B%26gt%3B%26nbsp%3B0%3B%5Cnif%26nbsp%3B(havePackagesToInstall)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Binstall%26nbsp%3B%24%7BpackagesToInstall%7D%60%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E4%B8%BA%E5%B7%A5%E5%85%B7%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE%E6%98%AF%E6%88%91%E4%BB%AC%E7%94%A8%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E7%9A%84%E6%9C%80%E4%BD%B3%E4%BA%8B%E9%A1%B9%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA.gitignore%20%E6%96%87%E4%BB%B6%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E6%84%8F%E5%A4%96%E5%9C%B0%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E5%9C%A8%20Git%20%E4%BB%93%E5%BA%93%E4%B8%AD%E5%87%BA%E7%8E%B0%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bgitignore%26nbsp%3Bnode%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8%20gitignore%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DV%252FIoxipE2WxmNECDRNKMqg%253D%253D.7Y4d34n%252BoUVlJkYEiJt3NLa9RHn2pYtKq%252BHpO67HIQjfjKAHIxcMynZzTudktHaV%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E5%8C%85%EF%BC%8C%E4%BB%8E%20GitHub%20%E7%9A%84%20gitignore%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3E%20https%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DSzh56TKqT6gYmrJidM7ZXg%253D%253D.BK7Vf5F73GaplJKeN48OsobM6U4EPriatZOr3dBhsSVZIuIUiktyqfS1jhLLtQ7o%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E6%A8%A1%E6%9D%BF%E4%B8%AD%E6%8B%89%E5%8F%96%20Node.js%20%E7%9A%84.gitignore%20%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E7%9A%84%20EditorConfig%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DdGD5%252BEyCTqLfqDSif7%252FHgQ%253D%253D.xgNWBjR6m%252FIUFlG1UmM3CYX2R%252BLXFN531lZhlvCRRWs%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%81Prettier%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3Dn7clHFqLMZZala0zu1JjdQ%253D%253D.jivAg4cL8HkSAhuurMUHrlfhGGILOpveTQR0rjCRXyg%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%92%8C%20ESLint%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DJ4jXEAmmBQ83%252FWSrOtTsAQ%253D%253D.b%252FKC0kT%252FZWZQ9KBItXDMQHWJBzc5aW9hUZsxWHBsMY4%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E4%B8%80%E4%B8%AA%E5%8F%AB%E5%81%9A%20Mrm%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E7%9A%84%20mrm%20%E4%BE%9D%E8%B5%96%E9%A1%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--global%26nbsp%3Bmrm%26nbsp%3Bmrm-task-editorconfig%26nbsp%3Bmrm-task-prettier%26nbsp%3Bmrm-task-eslint%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%B7%BB%E5%8A%A0%20mrm%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beditorconfig%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Bprettier%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beslint%60%3B%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EMrm%20%E8%B4%9F%E8%B4%A3%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%E3%80%82%E5%AE%83%E8%BF%98%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E7%94%9F%E6%88%90%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BB%A5%E7%AC%A6%E5%90%88%E6%88%91%E4%BB%AC%E7%9A%84%E4%B8%AA%E4%BA%BA%E5%81%8F%E5%A5%BD%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20README%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E7%9A%84%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%E8%AF%BB%E5%8F%96%E9%A1%B9%E7%9B%AE%E5%90%8D%E7%A7%B0%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA%E5%9F%BA%E6%9C%AC%E7%9A%84%20Markdown%20%E6%A0%BC%E5%BC%8F%E7%9A%84%20README%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E5%86%99%E5%85%A5%20README.md%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3B%7B%26nbsp%3Bname%3A%26nbsp%3BprojectName%26nbsp%3B%7D%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BreadmeContents%26nbsp%3B%3D%26nbsp%3B%60%23%26nbsp%3B%24%7BprojectName%7D%5Cn...%5Cn%60%3B%5Cnawait%26nbsp%3Bfs.writeFile(%60%24%7BtargetDirectory%7D%2FREADME.md%60%2C%26nbsp%3BreadmeContents)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%9A%B4%E9%9C%B2%E7%9A%84%20fs.writeFile%20%E7%9A%84%20promise%20%E5%8F%98%E9%87%8F%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%8F%90%E4%BA%A4%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%80%E5%90%8E%EF%BC%8C%E6%98%AF%E6%97%B6%E5%80%99%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E7%94%A8%20git%20%E5%88%9B%E5%BB%BA%E7%9A%84%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%E4%BA%86%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Badd%26nbsp%3B.%60%3B%5Cnawait%26nbsp%3B%24%60git%26nbsp%3Bcommit%26nbsp%3B-m%26nbsp%3B%26%2334%3BAdd%26nbsp%3Bproject%26nbsp%3Bskeleton%26%2334%3B%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E6%9D%A1%E6%B6%88%E6%81%AF%EF%BC%8C%E7%A1%AE%E8%AE%A4%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B7%B2%E7%BB%8F%E6%88%90%E5%8A%9F%E5%90%AF%E5%8A%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econsole.log(%5Cn%26nbsp%3B%26nbsp%3Bchalk.green(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60%5C%5Cn%E2%9C%94%EF%B8%8F%26nbsp%3BThe%26nbsp%3Bproject%26nbsp%3B%24%7BprojectName%7D%26nbsp%3Bhas%26nbsp%3Bbeen%26nbsp%3Bsuccessfully%26nbsp%3Bbootstrapped!%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B)%5Cn)%3B%5Cnconsole.log(chalk.green(%60Add%26nbsp%3Ba%26nbsp%3Bgit%26nbsp%3Bremote%26nbsp%3Band%26nbsp%3Bpush%26nbsp%3Byour%26nbsp%3Bchanges.%60))%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%90%AF%E5%8A%A8%E6%96%B0%E9%A1%B9%E7%9B%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bnew-project%5Cn.%2Fbootstrap-tool.mjs%26nbsp%3B--directory%26nbsp%3Bnew-project%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%B9%B6%E8%A7%82%E7%9C%8B%E6%88%91%E4%BB%AC%E6%89%80%E5%81%9A%E7%9A%84%E4%B8%80%E5%88%87%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%80%BB%E7%BB%93%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E5%A6%82%E4%BD%95%E5%9C%A8%20Node.js%20%E4%B8%AD%E5%80%9F%E5%8A%A9%20Google%20%E7%9A%84%20zx%20%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E5%BC%BA%E5%A4%A7%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E4%BA%86%E5%AE%83%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%92%8C%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%81%B5%E6%B4%BB%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%B0%E7%9B%AE%E5%89%8D%E4%B8%BA%E6%AD%A2%EF%BC%8C%E6%88%91%E4%BB%AC%E6%89%80%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%8F%AA%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BC%80%E5%A7%8B%E3%80%82%E8%BF%99%E9%87%8C%E6%9C%89%E4%B8%80%E4%BA%9B%E5%8A%9F%E8%83%BD%E7%82%B9%E5%AD%90%EF%BC%8C%E4%BD%A0%E5%8F%AF%E8%83%BD%E6%83%B3%E5%B0%9D%E8%AF%95%E8%87%AA%E5%B7%B1%E6%B7%BB%E5%8A%A0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E3%80%82%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E8%BF%98%E4%B8%8D%E5%AD%98%E5%9C%A8%EF%BC%8C%E5%88%99%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E5%B9%B6%E8%AF%A2%E9%97%AE%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E6%83%B3%E8%A6%81%E4%B8%BA%E4%BB%96%E4%BB%AC%E5%88%9B%E5%BB%BA%E8%AF%A5%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BC%80%E6%BA%90%E5%8D%AB%E7%94%9F%E3%80%82%E9%97%AE%E9%97%AE%E7%94%A8%E6%88%B7%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E5%9C%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B0%86%E6%98%AF%E5%BC%80%E6%BA%90%E7%9A%84%E9%A1%B9%E7%9B%AE%E3%80%82%E5%A6%82%E6%9E%9C%E6%98%AF%E7%9A%84%E8%AF%9D%EF%BC%8C%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E8%AE%B8%E5%8F%AF%E8%AF%81%E5%92%8C%E8%B4%A1%E7%8C%AE%E8%80%85%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%20GitHub%20%E4%B8%8A%E7%9A%84%E4%BB%93%E5%BA%93%E3%80%82%E6%B7%BB%E5%8A%A0%E4%BD%BF%E7%94%A8%20GitHub%20CLI%20%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%9C%A8%20GitHub%20%E4%B8%8A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E3%80%82%E4%B8%80%E6%97%A6%E7%94%A8%20Git%20%E6%8F%90%E4%BA%A4%E4%BA%86%E5%88%9D%E5%A7%8B%E9%AA%A8%E6%9E%B6%EF%BC%8C%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E6%8E%A8%E9%80%81%E5%88%B0%E8%BF%99%E4%B8%AA%E4%BB%93%E5%BA%93%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E5%9C%A8%20GitHub%20%E4%B8%8A%E6%89%BE%E5%88%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E8%AF%91%E8%87%AA%EF%BC%9A%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5Z%252ByLQNgua%252FY5gnguxXllg%253D%253D.SeNINYETng%252BH6uZupDjhsYNRqM5GWB5jXVDlvMdMqsO9u3CmWfwe8DwT48iAvK%252Fsm8pflQ8jbxHc1sB281%252B6pA%253D%253D%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%9C%E8%80%85%EF%BC%9A%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3ESimon%20Plenderleith%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BB%A5%E4%B8%8A%E5%B0%B1%E6%98%AF%E6%9C%AC%E6%96%87%E7%9A%84%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9%E3%80%82%E5%A6%82%E6%9E%9C%E5%AF%B9%E4%BD%A0%E6%9C%89%E6%89%80%E5%B8%AE%E5%8A%A9%EF%BC%8C%E6%AC%A2%E8%BF%8E%E7%82%B9%E8%B5%9E%E3%80%81%E6%94%B6%E8%97%8F%E3%80%81%E8%BD%AC%E5%8F%91~%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Chr%3E%22%2C%22imageList%22%3A%5B%5D%2C%22mediaInfo%22%3A%7B%22userId%22%3A%22MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH%22%2C%22unsafeUserId%22%3A%224288553596503552%22%2C%22name%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22avatarUrl%22%3A%22https%3A%2F%2Fsf3-cdn-tos.toutiaostatic.com%2Fimg%2Fuser-avatar%2Fc14bb151d3505084033c82ee8238acde~300x300.image%22%2C%22description%22%3A%22%E6%AC%A2%E8%BF%8E%E5%85%B3%E6%B3%A8VX%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22userVerified%22%3A1%7D%2C%22seoTDK%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC-%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1%22%2C%22description%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22keywords%22%3A%22%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%2CNode.js%2CGoogle%2CJavaScript%2CBash%2CTypeScript%2CZsh%2CGitHub%2C%E7%BE%8E%E5%A5%BD%EF%BC%8C%E4%B8%80%E7%9B%B4%E5%9C%A8%E8%BA%AB%E8%BE%B9%22%2C%22publishTimestamp%22%3A%221678237205%22%2C%22modifiedTimestamp%22%3A%221685548306%22%7D%2C%22cover%22%3A%22https%3A%2F%2Fp3-sign.toutiaoimg.com%2Flarge%2Ftos-cn-i-qvj2lq49k0%2F7894dd4439eb4e78ad35208f496e841a%3F_iz%3D58558%26from%3Darticle.pc_detail%26x-expires%3D1690103402%26x-signature%3D5z%252FNWR2V4o%252B5W0fhczXkGuaSyYE%253D%22%2C%22logId%22%3A%222023071617100290B65219A60FE2C10ABA%22%2C%22sylpageConfig%22%3A%7B%22card%22%3A%7B%22id%22%3A%22%22%7D%7D%2C%22identity%22%3A%7B%22web_id%22%3A%227235169635611018810%22%2C%22user_is_login%22%3Afalse%7D%2C%22abtestInfo%22%3A%7B%22rsp_type%22%3A5%2C%22version_name%22%3A%224938400%22%2C%22parameters%22%3A%7B%22filter%22%3A%7B%22debug_enable_pc_small_video%22%3Afalse%2C%22enable_pc_small_video%22%3Atrue%7D%2C%22home_nav_conf%22%3A%7B%22dcd_out%22%3A1%7D%2C%22optimus%22%3A%7B%22rule_rank_rules%22%3A%22ranking_rule_list%20%7B%5Cn%20%20id%3A%201221233%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2212123%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%202%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%2020458%5Cn%20%20priority%3A%203%5Cn%20%20enabled%3A%20true%5Cn%20%20category%3A%2020458%5Cn%20%20type%3A%20WINDOW%5Cn%20%20window_rule%20%7B%5Cn%20%20%20%20type%3A%20SLIDE%5Cn%20%20%20%20size%3A%203%5Cn%20%20%20%20max%3A%201%5Cn%20%20%7D%5Cn%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%201111024%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2211024%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%206%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%22%7D%2C%22page_upgrade%22%3A%7B%22new_profile%22%3Atrue%2C%22video_double_column%22%3Atrue%7D%2C%22recall%22%3A%7B%22debug_filter_reason_list%22%3A%5B%5D%2C%22debug_recall_reason_list%22%3A%5B70%2C71%2C72%2C73%2C80%2C83%5D%2C%22enable_debug_filter_reason%22%3Atrue%2C%22enable_debug_recall_reason%22%3Atrue%2C%22friend_feed%22%3A%7B%22control_nums%22%3A1500%2C%22count%22%3A1000%2C%22enable%22%3Atrue%2C%22enable_cpp_friend_feed%22%3Atrue%2C%22enable_friend_feed_container_filter%22%3Atrue%2C%22enable_group_status_filter%22%3Atrue%2C%22params%22%3A%7B%7D%2C%22top_k%22%3A10%2C%22use_new_friend_recall%22%3Atrue%2C%22valid_group_source%22%3A%5B2%2C5%2C15%2C23%2C16%2C19%2C21%2C132%5D%2C%22weight%22%3A20%7D%7D%2C%22seraph%22%3A%7B%22rule_rank_rules_pc_small%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20%20%20%20%20%20id%3A%2022124%20%5Cn%20%20%20%20%20%20%20%20%20priority%3A%200%20%5Cn%20%20%20%20%20%20%20%20%20tags%3A%20%5C%2222124%5C%22%20%5Cn%20%20%20%20%20%20%20%20%20enabled%3A%20true%20%5Cn%20%20%20%20%20%20%20%20%20type%3A%20CARD%20%5Cn%20%20%20%20%20%20%20%20%20card_rule%20%7B%20%5Cn%20%20%20%20%20%20%20%20%20size%3A%206%20%5Cn%20%20%20%20%20%20%20%20%20num_cards%3A%201%5Cn%20%20%20%20%20%20%20%20%20type%3A%20SAME_SLOT%20%5Cn%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%22%2C%22rule_rank_rules_pc_small_window%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20id%3A%20222124%5Cn%20%20%20priority%3A%200%5Cn%20%20%20tags%3A%20%5C%2222124%5C%22%5Cn%20%20%20%20enabled%3A%20false%5Cn%20%20%20%20type%3A%20WINDOW%5Cn%20%20%20%20window_rule%20%7B%5Cn%20%20%20type%3A%20SLIDE%20%5Cn%20%20%20size%3A%2012%20%5Cn%20%20%20max%3A%206%20%5Cn%20%20%20%7D%5Cn%20%20%20%7D%22%7D%2C%22small_sort%22%3A%7B%22enable_filter_zhanwai%22%3Atrue%2C%22filter_genre_plog%22%3Afalse%2C%22filter_genre_small%22%3Afalse%2C%22skip_small_app_version_filter%22%3Afalse%2C%22skip_small_genre_filter%22%3Afalse%7D%2C%22sort%22%3A%7B%22allowed_ticai%22%3A%5B%22forum_post%22%2C%22pgc_text%22%2C%22pgc_video%22%2C%22short_video%22%5D%2C%22enable_optimus_gen_pc_mv_card%22%3Atrue%2C%22enable_optimus_gen_pc_sv_card%22%3Atrue%2C%22enable_pc_skip_app_smallvideo_card%22%3Atrue%7D%2C%22ugc_sort%22%3A%7B%22expore_smallvideo%22%3Atrue%7D%2C%22video_channel%22%3A%7B%22use_feed%22%3A1%2C%22rank%22%3A5%7D%7D%2C%22env_flag%22%3A0%7D%2C%22localCityInfo%22%3A%7B%22name%22%3A%22%E8%A5%84%E9%98%B3%22%2C%22code%22%3A%22420600%22%2C%22channelId%22%3A3202181326%7D%2C%22voteLink%22%3A%5B%7B%22keyword%22%3A%22%E6%9C%AB%E4%B8%96%E9%87%8D%E7%94%9F%EF%BC%8C%E6%88%91%E6%8A%A2%E4%BA%86%E5%A5%B3%E4%B8%BB%E7%9A%84%E9%87%91%E6%89%8B%E6%8C%87%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7045105728742231079%22%7D%2C%7B%22keyword%22%3A%22%E4%BA%BA%E5%9C%A8%E6%B5%B7%E8%B4%BC%3A%E6%88%91%E6%88%90%E4%B8%BA%E4%BA%86%E6%B5%B7%E5%86%9B%E5%A5%B3%E7%8E%8B%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7070145477789879300%22%7D%2C%7B%22keyword%22%3A%22%E6%B2%A1%E7%9E%8E%E7%9C%BC%E4%B8%89%E5%B9%B4%EF%BC%8C%E4%BD%86%E6%88%91%E7%9A%84%E5%AD%A6%E7%94%9F%E4%B8%8D%E6%98%AF%E4%BA%BA%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7118385133568134175%22%7D%2C%7B%22keyword%22%3A%22%E7%9C%9F%E5%8D%83%E9%87%91%E4%BB%8E%E4%BF%AE%E7%9C%9F%E7%95%8C%E5%9B%9E%E6%9D%A5%E4%BA%86%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F6983183491827502094%22%7D%2C%7B%22keyword%22%3A%22%E5%BC%82%E4%B8%96%E7%9B%B8%E9%81%87%E5%B0%BD%E4%BA%AB%E7%A4%BE%E6%AD%BB%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F583844%22%7D%2C%7B%22keyword%22%3A%22python%20ols%E5%9B%9E%E5%BD%92%E5%88%86%E6%9E%90%E7%BB%93%E6%9E%9C%E6%80%8E%E4%B9%88%E7%9C%8B%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131680%22%7D%2C%7B%22keyword%22%3A%22%E7%A5%9E%E5%A5%87%E5%AE%9D%E8%B4%9D%E4%B9%8B%E5%85%A8%E8%83%BD%E6%8E%8C%E9%97%A8%E4%BA%BA%E8%87%B4%E5%85%89%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F738595%22%7D%2C%7B%22keyword%22%3A%22%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3java8%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131722%22%7D%2C%7B%22keyword%22%3A%22linux%20mysql%20%E6%97%A5%E5%BF%97%E6%B8%85%E7%90%86%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1182964%22%7D%2C%7B%22keyword%22%3A%22%E6%88%91%E5%9C%A8%E5%AE%9D%E5%8F%AF%E6%A2%A6%E4%B8%96%E7%95%8C%E6%88%90%E4%B8%BA%E7%AC%AC%E4%B8%80%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F188604%22%7D%5D%2C%22grSensitive%22%3Afalse%2C%22showResearch%22%3Afalse%2C%22blockVisibility%22%3A%7B%22hotBoard%22%3Atrue%2C%22hotVideo%22%3Atrue%2C%22relatedRecommend%22%3Atrue%7D%2C%22isGreyTheme%22%3Afalse%2C%22searchBot%22%3Anull%7D%7D
npmview${pkg}`;
}catch(error){
invalidPackages.push(pkg);
}
}
$.verbose=true;
returninvalidPackages;
}
让我们创建一个 getPackagesToInstall 函数,使用我们刚刚创建的两个函数:
asyncfunctiongetPackagesToInstall(){
constpackagesToInstall=awaitpromptForPackages();
constinvalidPackages=awaitidentifyInvalidNpmPackages(packagesToInstall);
constallPackagesExist=invalidPackages.length===0;
if(!allPackagesExist){
console.error(
chalk.red(
`Error:Thefollowingpackagesdonotexistonnpm:${invalidPackages.join(
","
)}\n`
)
);
returnawaitgetPackagesToInstall();
}
returnpackagesToInstall;
}
如果有软件包名称不正确,上面的函数将显示一个错误,然后再次询问要安装的软件包。
一旦我们得到需要安装的有效包列表,就可以使用 npm install 命令来安装它们:
constpackagesToInstall=awaitgetPackagesToInstall();
consthavePackagesToInstall=packagesToInstall.length>0;
if(havePackagesToInstall){
await
社区精选|如何使用 zx 编写 shell 脚本-*今条头日**
{"@context":"https://schema.org","@type":"NewsArticle","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.toutiao.com/article/7207743318715793920/"},"headline":"社区精选|如何使用 zx 编写 shell 脚本","description":"在这篇文章中,我们将学习谷歌的 zx 库提供了什么,以及我们如何使用它来用 Node.js 编写 shell 脚本。","image":[],"datePublished":"2023-03-08T01:00:05.000Z","dateModified":"2023-05-31T15:51:46.000Z","author":{"@type":"Person","name":"计算科学与信息化","url":"https://www.toutiao.com/c/user/token/MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH/"},"publisher":{"@type":"Organization","name":"*今条头日**","logo":{"@type":"ImageObject","url":"https://lf3-static.bytednsdoc.com/obj/eden-cn/uhbfnupkbps/216.png"}}}
!function(r,e,t,n,s,a,o,i,c,l,d,p,m,f){a="precollect",o="getAttribute",i="addEventListener",(l=function(e){(d=[].slice.call(arguments)).push(Date.now(),location.href),(e==a?l.p.a:l.q).push(d)}).q=[],l.p={a:[]},r[s]=l,(p=document.createElement("script")).src=t+"?bid=toutiao_web_pc&globalName="+s,p.crossOrigin=0
window.Slardar&&window.Slardar("init",{bid:"toutiao_web_pc",pid:"news_article_detail",release:"1.0.0.1822",env:"online",sample:{sample_rate:1},plugins:{ajax:{ignoreUrls:["mcs.snssdk.com","mcs.zijieapi.com","i.snssdk.com","verify.snssdk.com","vcs.snssdk.com","mon.zijieapi.com","mon.snssdk.com"]},pageview:{routeMode:"manual"},blankScreen:{rootSelector:"#root"}}})
!function(n,t){if(n.LogAnalyticsObject=t,!n[t]){function c(){c.q.push(arguments)}c.q=c.q||[],n[t]=c}n[t].l=+new Date}(window,"collectEvent")
window.collectEvent("usePlugin","autotrack"),window.collectEvent("usePlugin","stay"),window.collectEvent("init",{app_id:24,channel:"cn",autotrack:{custom:"tea",text:!0},enable_stay_duration:!0}),window.collectEvent("config",{evtParams:{url:window.location.href,screen_width:window.screen.width,screen_height:window.screen.height,screen_inner_width:window.innerWidth,screen_inner_height:window.innerHeight}})
window.byted_acrawler&&window.byted_acrawler.init({aid:24,dfp:!0})
window.TTGCaptcha&&window.TTGCaptcha.init({commonOptions:{aid:24,iid:"0",did:"0"}})
window.secsdk&&window.secsdk.csrf.setProtectedHost({"www.toutiao.com":{GET:[],POST:[/^\/api\/pc\/user\/fans_digg/,/^\/api\/pc\/user\/delete/,/^\/api\/pc\/user\/follow/,/^\/c\/ugc\/content\/repost/,/^\/group\/repin/,/^\/group\/unrepin/,/^\/api\/pc\/user\/stick/,/^\/api\/pc\/user\/unstick/,/^\/c\/user\/unfollow/,/^\/wenda\/v5\/interact\/followanswer/,/^\/wenda\/v5\/interact\/followquestion/,/^\/wenda\/v5\/interact\/digganswer/,/^\/wenda\/v5\/interact\/deleteanswer/,/^\/user_data\/batch_action/],PUT:[],PATCH:[],DELETE:[]}})
"undefined"!=typeof window&&"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("/sw.js").catch(function(e){window.Slardar&&window.Slardar("emit","counter",{name:"sw-register-error",value:1})})})
function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-QEHZPBE5HH")
%7B%22data%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%22%2C%22abstract%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22articleType%22%3A%22article%22%2C%22itemId%22%3A%227207743318715793920%22%2C%22groupId%22%3A%227207743318715793920%22%2C%22groupSource%22%3A2%2C%22isOriginal%22%3Afalse%2C%22banComment%22%3Afalse%2C%22publishTime%22%3A%222023-03-08%2009%3A00%22%2C%22source%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22tag%22%3A%22technique%22%2C%22mediaSite%22%3Anull%2C%22pathname%22%3A%22%2Farticle%2F7207743318715793920%2F%22%2C%22useCandle%22%3Afalse%2C%22isExclusive%22%3Afalse%2C%22favorite%22%3Afalse%2C%22relation%22%3A%7B%22isFollowing%22%3Afalse%2C%22isFollowed%22%3Afalse%7D%2C%22likeData%22%3A%7B%22userLikeStatus%22%3A0%2C%22count%22%3A1%7D%2C%22isSelf%22%3Afalse%2C%22content%22%3A%22%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%89%8D%E8%A8%80%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E6%9D%A5%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E5%BC%95%E5%AF%BC%E9%85%8D%E7%BD%AE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E7%BC%96%E5%86%99%20Shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E9%97%AE%E9%A2%98%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%94%B1%20Bash%20%E6%88%96%E8%80%85%20zsh%20%E6%89%A7%E8%A1%8C%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%98%AF%E8%87%AA%E5%8A%A8%E5%8C%96%E9%87%8D%E5%A4%8D%E4%BB%BB%E5%8A%A1%E7%9A%84%E5%A5%BD%E6%96%B9%E6%B3%95%E3%80%82Node.js%20%E4%BC%BC%E4%B9%8E%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E7%90%86%E6%83%B3%E9%80%89%E6%8B%A9%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E8%AE%B8%E5%A4%9A%E6%A0%B8%E5%BF%83%E6%A8%A1%E5%9D%97%EF%BC%8C%E5%B9%B6%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E5%AF%BC%E5%85%A5%E4%BB%BB%E4%BD%95%E6%88%91%E4%BB%AC%E9%80%89%E6%8B%A9%E7%9A%84%E5%BA%93%E3%80%82%E5%AE%83%E8%BF%98%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%AE%BF%E9%97%AE%20JavaScript%20%E6%8F%90%E4%BE%9B%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E5%92%8C%E5%86%85%E7%BD%AE%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E4%BD%A0%E5%B0%9D%E8%AF%95%E7%BC%96%E5%86%99%E8%BF%90%E8%A1%8C%E5%9C%A8%20Node.js%20%E4%B8%AD%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E4%BD%A0%E4%BC%9A%E5%8F%91%E7%8E%B0%E8%BF%99%E6%B2%A1%E6%9C%89%E4%BD%A0%E6%83%B3%E8%B1%A1%E4%B8%AD%E7%9A%84%E9%82%A3%E4%B9%88%E9%A1%BA%E5%88%A9%E3%80%82%E4%BD%A0%E9%9C%80%E8%A6%81%E4%B8%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%BC%96%E5%86%99%E7%89%B9%E6%AE%8A%E7%9A%84%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%EF%BC%8C%E6%B3%A8%E6%84%8F%E8%BD%AC%E4%B9%89%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%EF%BC%8C%E7%84%B6%E5%90%8E%E6%9C%80%E7%BB%88%E4%B8%8E%20stdout%EF%BC%88%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%89%E5%92%8C%20stderr%EF%BC%88%E6%A0%87%E5%87%86%E9%94%99%E8%AF%AF%EF%BC%89%E6%89%93%E4%BA%A4%E9%81%93%E3%80%82%E8%BF%99%E4%B8%8D%E6%98%AF%E7%89%B9%E5%88%AB%E7%9B%B4%E8%A7%82%EF%BC%8C%E8%80%8C%E4%B8%94%E4%BC%9A%E4%BD%BF%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E7%9B%B8%E5%BD%93%E7%AC%A8%E6%8B%99%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EBash%20shell%20%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E6%99%AE%E9%81%8D%E9%80%89%E6%8B%A9%E3%80%82%E4%B8%8D%E9%9C%80%E8%A6%81%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%E6%9D%A5%E5%A4%84%E7%90%86%E5%AD%90%E8%BF%9B%E7%A8%8B%EF%BC%8C%E8%80%8C%E4%B8%94%E5%AE%83%E6%9C%89%E5%86%85%E7%BD%AE%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E6%9D%A5%E5%A4%84%E7%90%86%20stdout%20%E5%92%8C%20stderr%E3%80%82%E4%BD%86%E6%98%AF%E7%94%A8%20Bash%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E4%B9%9F%E4%B8%8D%E6%98%AF%E9%82%A3%E4%B9%88%E5%AE%B9%E6%98%93%E3%80%82%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9B%B8%E5%BD%93%E6%B7%B7%E4%B9%B1%EF%BC%8C%E4%BD%BF%E5%BE%97%E5%AE%83%E5%AE%9E%E7%8E%B0%E9%80%BB%E8%BE%91%EF%BC%8C%E6%88%96%E8%80%85%E5%A4%84%E7%90%86%E8%AF%B8%E5%A6%82%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E7%9A%84%E4%BA%8B%E6%83%85%E9%9D%9E%E5%B8%B8%E5%9B%B0%E9%9A%BE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%9C%89%E5%8A%A9%E4%BA%8E%E8%AE%A9%E4%BD%BF%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E9%AB%98%E6%95%88%E5%92%8C%E8%88%92%E9%80%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BE%80%E4%B8%8B%E9%98%85%E8%AF%BB%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%E9%9C%80%E8%A6%81%E9%81%B5%E5%BE%AA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%90%86%E6%83%B3%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E4%BD%A0%E5%BA%94%E8%AF%A5%E7%86%9F%E6%82%89%20JavaScript%20%E5%92%8C%20Node.js%20%E7%9A%84%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E9%80%82%E5%BA%94%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20Node.js%20%26gt%3B%3D%20v14.13.1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cbr%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E4%BB%8E%20GitHub%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DysCUhsc%252BhqUmtqCo55t8jw%253D%253D.aWhjUaPje6eTlkcFFdhW%252FeIVYyAz5G%252FoPbGuXjsxlpcJphMKguwz3NoHWQ9o2vDb47Nfnm9kpIP6Ol5r6Euc8A%253D%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E8%8E%B7%E5%BE%97%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E8%BF%90%E4%BD%9C%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EGoogle%20%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%88%9B%E5%BB%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%A4%84%E7%90%86%E8%BF%99%E4%BA%9B%E8%BF%9B%E7%A8%8B%E7%9A%84%20stdout%20%E5%92%8C%20stderr%20%E7%9A%84%E5%87%BD%E6%95%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E7%9A%84%E4%B8%BB%E8%A6%81%E5%87%BD%E6%95%B0%E6%98%AF%24%E5%87%BD%E6%95%B0%E3%80%82%E4%B8%8B%E9%9D%A2%E6%98%AF%E5%AE%83%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AE%9E%E9%99%85%E4%BE%8B%E5%AD%90%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnawait%26nbsp%3B%24%60ls%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E6%89%A7%E8%A1%8C%E4%B8%8A%E8%BF%B0%E4%BB%A3%E7%A0%81%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnbootstrap-tool%5Cnhello-world%5Cnnode_modules%5Cnpackage.json%5CnREADME.md%5Cntypescript%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%E7%9A%84%20JavaScript%20%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9C%8B%E8%B5%B7%E6%9D%A5%E6%9C%89%E7%82%B9%E5%8F%A4%E6%80%AA%E3%80%82%E5%AE%83%E4%BD%BF%E7%94%A8%E4%BA%86%E4%B8%80%E7%A7%8D%E5%8F%AB%E5%81%9A%E5%B8%A6%E6%A0%87%E7%AD%BE%E7%9A%84%E6%A8%A1%E6%9D%BF%E5%AD%97%E7%AC%A6%E4%B8%B2%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DVUkodq5er%252Fynbhfl3MUQZA%253D%253D.%252Flx6oaDCVK4XuYyYLqvDi2QMWjCwW1jKBvNQgfaGG0AVwpl7I2CYD4sJYHuonDSA6jj1qSSypc0aGVO%252BYuBMUiibG6pBkVwusg%252Bai1hbMXetqlwMTWVUEAbtabMCbXIs%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E3%80%82%E5%AE%83%E5%9C%A8%E5%8A%9F%E8%83%BD%E4%B8%8A%E4%B8%8E%E7%BC%96%E5%86%99%20await%20%24(%26%2334%3Bls%26%2334%3B)%E7%9B%B8%E5%90%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%85%B6%E4%BB%96%E5%87%A0%E4%B8%AA%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%EF%BC%8C%E4%BD%BF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E6%9B%B4%E5%AE%B9%E6%98%93%E3%80%82%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ecd()%E3%80%82%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E6%9B%B4%E6%94%B9%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Equestion()%E3%80%82%E8%BF%99%E6%98%AF%20Node.js%20readline%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%8C%85%E8%A3%85%E5%99%A8%E3%80%82%E5%AE%83%E4%BD%BF%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E5%8F%98%E5%BE%97%E7%AE%80%E5%8D%95%E6%98%8E%E4%BA%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%99%A4%E4%BA%86%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%A4%96%EF%BC%8C%E5%AE%83%E8%BF%98%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E5%87%A0%E4%B8%AA%E6%B5%81%E8%A1%8C%E7%9A%84%E5%BA%93%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Echalk%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D%252FL15Y8OQNrp05Scx6N4iaQ%253D%253D.r8AZkfcE1Ye%252BlNUznFA9RNJMhfyM0lttTiD0TmqjJQwoi7zjQjs5YiLjI%252FWDEooY%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%99%E4%B8%AA%E5%BA%93%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E4%B8%BA%E8%84%9A%E6%9C%AC%E7%9A%84%E8%BE%93%E5%87%BA%E6%B7%BB%E5%8A%A0%E9%A2%9C%E8%89%B2%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Eminimist%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5tMQ5d6qJ4STEHZeuiN0MA%253D%253D.x9GPOpXVZp5TGKknZCkwA10QP%252Ftw%252BW7fwnpYGg%252BnlJPJLK3RboT3jqy5WuPLFwPZ%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E4%B8%AA%E8%A7%A3%E6%9E%90%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E7%9A%84%E5%BA%93%E3%80%82%E7%84%B6%E5%90%8E%E5%AE%83%E4%BB%AC%E5%9C%A8%20argv%20%E5%AF%B9%E8%B1%A1%E4%B8%8B%E8%A2%AB%E6%9A%B4%E9%9C%B2%E5%87%BA%E6%9D%A5%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efetch%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D71LC44tCu%252FZoLOY2B7MfuA%253D%253D.GO%252FMi37T0KTmj8UXau9xdFUBiIk1I%252F8M%252FHk2hZYrhRb%252Fd3Vl0bzlr05hanNxzuVb%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EFetch%20API%20%E7%9A%84%20Node.js%20%E5%AE%9E%E7%8E%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E8%BF%9B%E8%A1%8C%20HTTP%20%E8%AF%B7%E6%B1%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efs-extra%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DcPZzXniTRFJdbq87FdwLWw%253D%253D.IsmhSUEjIcZAqw8FDidbUnNhhIVPT1gsFSo%252BchiXCAs9AaxUVT%252FEgbIvswUDVmK2%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%B8%80%E4%B8%AA%E6%9A%B4%E9%9C%B2%20Node.js%20%E6%A0%B8%E5%BF%83%20fs%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%BA%93%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B9%E6%B3%95%EF%BC%8C%E4%BD%BF%E5%85%B6%E6%9B%B4%E5%AE%B9%E6%98%93%E4%B8%8E%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%80%E8%B5%B7%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9F%A5%E9%81%93%E4%BA%86%20zx%20%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E4%BB%80%E4%B9%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E7%94%A8%E5%AE%83%E5%88%9B%E5%BB%BA%E7%AC%AC%E4%B8%80%E4%B8%AA%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bzx-shell-scripts%5Cncd%26nbsp%3Bzx-shell-scripts%5Cnnpm%26nbsp%3Binit%26nbsp%3B--yes%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%AE%89%E8%A3%85%20zx%20%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bzx%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E7%9A%84%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E7%94%A8%20npm%20%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E8%AF%A5%E5%BA%93%E3%80%82%E9%80%9A%E8%BF%87%E5%B0%86%E5%85%B6%E5%AE%89%E8%A3%85%E4%B8%BA%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%A1%AE%E4%BF%9D%20zx%20%E6%80%BB%E6%98%AF%E8%A2%AB%E5%AE%89%E8%A3%85%EF%BC%8C%E5%B9%B6%E6%8E%A7%E5%88%B6%20shell%20%E8%84%9A%E6%9C%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E7%89%88%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A1%B6%E7%BA%A7%20await%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%20Node.js%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E9%A1%B6%E7%BA%A7%20await%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%20await%20%E4%BD%8D%E4%BA%8E%20async%20%E5%87%BD%E6%95%B0%E7%9A%84%E5%A4%96%E9%83%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%9C%A8%20ES%20%E6%A8%A1%E5%9D%97%E7%9A%84%E6%A8%A1%E5%BC%8F%E4%B8%8B%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%EF%BC%8C%E8%AF%A5%E6%A8%A1%E5%BC%8F%E6%94%AF%E6%8C%81%E9%A1%B6%E7%BA%A7%20await%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%20package.json%20%E4%B8%AD%E6%B7%BB%E5%8A%A0%20%26%2334%3Btype%26%2334%3B%3A%20%26%2334%3Bmodule%26%2334%3B%20%E6%80%8E%E4%B9%88%E6%80%8E%E4%B9%88%E6%9D%A5%E8%A1%A8%E6%98%8E%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%A8%A1%E5%9D%97%E9%83%BD%E6%98%AF%20ES%20%E6%A8%A1%E5%9D%97%E3%80%82%E6%88%96%E8%80%85%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%B0%86%E5%8D%95%E4%B8%AA%E8%84%9A%E6%9C%AC%E7%9A%84%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E8%AE%BE%E7%BD%AE%E4%B8%BA%20.mjs%20%E3%80%82%E5%9C%A8%E6%9C%AC%E6%96%87%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20.mjs%20%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E5%B9%B6%E6%8D%95%E8%8E%B7%E8%BE%93%E5%87%BA%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B0%86%E5%85%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world.mjs%20%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%AE%83%E5%91%8A%E8%AF%89%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%88OS%EF%BC%89%E7%9A%84%E5%86%85%E6%A0%B8%E8%A6%81%E7%94%A8%20node%20%E7%A8%8B%E5%BA%8F%E8%BF%90%E8%A1%8C%E8%AF%A5%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%BA%9B%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%BD%BF%E7%94%A8%20zx%20%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8B%E9%9D%A2%E7%9A%84%E4%BB%A3%E7%A0%81%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%20ls%20%E7%A8%8B%E5%BA%8F%E3%80%82ls%20%E7%A8%8B%E5%BA%8F%E5%B0%86%E5%88%97%E5%87%BA%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%88%E8%84%9A%E6%9C%AC%E6%89%80%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%EF%BC%89%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BB%8E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BF%9B%E7%A8%8B%E4%B8%AD%E6%8D%95%E8%8E%B7%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B0%86%E5%85%B6%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E7%84%B6%E5%90%8E%E6%89%93%E5%8D%B0%E5%88%B0%E7%BB%88%E7%AB%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cnconsole.log(output)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E6%8A%8A%2Fusr%2Fbin%2Fenv%20zx%20%E6%94%BE%E5%9C%A8%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E7%9A%84%20shebang%20%E8%A1%8C%E4%B8%AD%EF%BC%8C%E4%BD%86%E6%88%91%E4%BB%AC%E7%94%A8%2Fusr%2Fbin%2Fenv%20node%20%E4%BB%A3%E6%9B%BF%E3%80%82%E8%BF%99%E6%98%AF%E5%9B%A0%E4%B8%BA%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%20zx%EF%BC%8C%E5%B9%B6%E4%BD%9C%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E6%98%8E%E7%A1%AE%E5%9C%B0%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E6%83%B3%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%E3%80%82%E8%BF%99%E6%9C%89%E5%8A%A9%E4%BA%8E%E6%98%8E%E7%A1%AE%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E4%BE%9D%E8%B5%96%E6%9D%A5%E8%87%AA%E5%93%AA%E9%87%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%20chmod%20%E6%9D%A5%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E5%A6%82%E4%B8%8B%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%88ls%EF%BC%89%E8%A2%AB%E5%8C%85%E5%90%AB%E5%9C%A8%E8%BE%93%E5%87%BA%E4%B8%AD%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%E6%98%BE%E7%A4%BA%E4%B8%A4%E6%AC%A1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BE%93%E5%87%BA%E7%9A%84%E6%9C%AB%E5%B0%BE%E5%A4%9A%E4%BA%86%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E9%BB%98%E8%AE%A4%E4%BB%A5%20verbose%20%E6%A8%A1%E5%BC%8F%E8%BF%90%E8%A1%8C%E3%80%82%E5%AE%83%E5%B0%86%E8%BE%93%E5%87%BA%E4%BD%A0%E4%BC%A0%E9%80%92%E7%BB%99%24%E5%87%BD%E6%95%B0%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%90%8C%E6%97%B6%E4%B9%9F%E8%BE%93%E5%87%BA%E8%AF%A5%E5%91%BD%E4%BB%A4%E7%9A%84%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%E8%BF%90%E8%A1%8C%20ls%20%E5%91%BD%E4%BB%A4%E5%89%8D%E5%8A%A0%E5%85%A5%E4%BB%A5%E4%B8%8B%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E6%9D%A5%E6%94%B9%E5%8F%98%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A4%A7%E5%A4%9A%E6%95%B0%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%A6%82%20ls%EF%BC%8C%E4%BC%9A%E5%9C%A8%E5%85%B6%E8%BE%93%E5%87%BA%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E5%AD%97%E7%AC%A6%EF%BC%8C%E4%BB%A5%E4%BD%BF%E8%BE%93%E5%87%BA%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E6%9B%B4%E6%98%93%E8%AF%BB%E3%80%82%E8%BF%99%E5%AF%B9%E5%8F%AF%E8%AF%BB%E6%80%A7%E6%9C%89%E5%A5%BD%E5%A4%84%EF%BC%8C%E4%BD%86%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E8%A6%81%E5%B0%86%E8%BE%93%E5%87%BA%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E6%9C%89%E8%BF%99%E4%B8%AA%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B0%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%20JavaScript%20String%23trim()%E5%87%BD%E6%95%B0%E6%8A%8A%E5%AE%83%E5%8E%BB%E6%8E%89%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E-%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cn%2B%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout.trim()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%86%8D%E6%AC%A1%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E7%BB%93%E6%9E%9C%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%A5%BD%E5%BE%88%E5%A4%9A%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ehello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%BC%95%E5%85%A5%20TypeScript%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E6%83%B3%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%BC%96%E5%86%99%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%BE%AE%E5%B0%8F%E7%9A%84%E5%8C%BA%E5%88%AB%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%8A%A0%E4%BB%A5%E8%AF%B4%E6%98%8E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9ATypeScript%20%E7%BC%96%E8%AF%91%E5%99%A8%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E5%AE%83%E5%A6%82%E4%BD%95%E7%BC%96%E8%AF%91%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%E8%80%83%E8%99%91%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E4%B8%8B%E9%9D%A2%E7%9A%84%20TypeScript%20%E9%85%8D%E7%BD%AE%E5%92%8C%E4%BB%A3%E7%A0%81%E6%98%AF%E4%B8%BA%E4%BA%86%E5%9C%A8%E5%A4%A7%E5%A4%9A%E6%95%B0%20TypeScript%20%E7%89%88%E6%9C%AC%E4%B8%8B%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E5%AE%89%E8%A3%85%E9%9C%80%E8%A6%81%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E7%9A%84%E4%BE%9D%E8%B5%96%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Btypescript%26nbsp%3Bts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ets-node%20%E5%8C%85%E6%8F%90%E4%BE%9B%E4%BA%86%E4%B8%80%E4%B8%AA%20TypeScript%20%E6%89%A7%E8%A1%8C%E5%BC%95%E6%93%8E%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E8%83%BD%E5%A4%9F%E8%BD%AC%E8%AF%91%E5%92%8C%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%9C%80%E8%A6%81%E5%88%9B%E5%BB%BA%20tsconfig.json%20%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E4%B8%8B%E9%9D%A2%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%7B%5Cn%26%2334%3BcompilerOptions%26%2334%3B%3A%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Btarget%26%2334%3B%3A%26nbsp%3B%26%2334%3Bes2017%26%2334%3B%2C%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Bmodule%26%2334%3B%3A%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5Cn%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E6%96%B0%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B9%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world-typescript.ts%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E6%B7%BB%E5%8A%A0%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%91%8A%E8%AF%89%20OS%20%E5%86%85%E6%A0%B8%E4%BD%BF%E7%94%A8%20ts-node%20%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B.%2Fnode_modules%2F.bin%2Fts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E4%B8%AD%E4%BD%BF%E7%94%A8%20await%20%E5%85%B3%E9%94%AE%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E6%8A%8A%E5%AE%83%E5%8C%85%E8%A3%85%E5%9C%A8%E4%B8%80%E4%B8%AA%E7%AB%8B%E5%8D%B3%E8%B0%83%E7%94%A8%E5%87%BD%E6%95%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%EF%BC%88IIFE%EF%BC%89%E4%B8%AD%EF%BC%8C%E6%AD%A3%E5%A6%82%20zx%20%E6%96%87%E6%A1%A3%E6%89%80%E5%BB%BA%E8%AE%AE%E7%9A%84%E9%82%A3%E6%A0%B7%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world-typescript.ts%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnvoid%26nbsp%3B(async%26nbsp%3Bfunction%26nbsp%3B()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60ls%60%3B%5Cn%7D)()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E9%9C%80%E8%A6%81%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E4%B8%8B%E9%9D%A2%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world-typescript.ts%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cntsconfig.json%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%E8%84%9A%E6%9C%AC%E4%B8%8E%E4%BD%BF%E7%94%A8%20JavaScript%20%E7%9B%B8%E4%BC%BC%EF%BC%8C%E4%BD%86%E9%9C%80%E8%A6%81%E5%AF%B9%E6%88%91%E4%BB%AC%E7%9A%84%E4%BB%A3%E7%A0%81%E8%BF%9B%E8%A1%8C%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E9%85%8D%E7%BD%AE%E5%92%8C%E5%8C%85%E8%A3%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%9E%84%E5%BB%BA%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E7%94%A8%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AF%86%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E7%94%A8%E5%AE%83%E6%9D%A5%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B7%A5%E5%85%B7%E3%80%82%E8%BF%99%E4%B8%AA%E5%B7%A5%E5%85%B7%E5%B0%86%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E9%80%9A%E5%B8%B8%E5%BE%88%E8%80%97%E6%97%B6%E7%9A%84%E8%BF%87%E7%A8%8B%EF%BC%9A%E4%B8%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E7%9A%84%E9%85%8D%E7%BD%AE%E6%8F%90%E4%BE%9B%E5%BC%95%E5%AF%BC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BA%A4%E4%BA%92%E5%BC%8F%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E3%80%82%E5%AE%83%E8%BF%98%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E5%86%85%E7%BD%AE%E7%9A%84%20chalk%20%E5%BA%93%EF%BC%8C%E4%BB%A5%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A2%9C%E8%89%B2%E9%AB%98%E4%BA%AE%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B9%B6%E6%8F%90%E4%BE%9B%E4%B8%80%E4%B8%AA%E5%8F%8B%E5%A5%BD%E7%9A%84%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C%E3%80%82%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E8%BF%98%E5%B0%86%E5%AE%89%E8%A3%85%E6%96%B0%E9%A1%B9%E7%9B%AE%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%EF%BC%8C%E6%89%80%E4%BB%A5%E5%AE%83%E5%B7%B2%E7%BB%8F%E5%87%86%E5%A4%87%E5%A5%BD%E8%AE%A9%E6%88%91%E4%BB%AC%E7%AB%8B%E5%8D%B3%E5%BC%80%E5%A7%8B%E5%BC%80%E5%8F%91%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%87%86%E5%A4%87%E5%BC%80%E5%A7%8B%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%90%8D%E4%B8%BA%20bootstrap-tool.mjs%20%E7%9A%84%E6%96%B0%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B9%B6%E6%B7%BB%E5%8A%A0%20shebang%20%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E6%A8%A1%E5%9D%97%EF%BC%8C%E4%BB%A5%E5%8F%8A%20Node.js%20%E6%A0%B8%E5%BF%83%20path%20%E6%A8%A1%E5%9D%97%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%2F%2F%26nbsp%3Bbootstrap-tool.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%2C%26nbsp%3Bargv%2C%26nbsp%3Bcd%2C%26nbsp%3Bchalk%2C%26nbsp%3Bfs%2C%26nbsp%3Bquestion%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnimport%26nbsp%3Bpath%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bpath%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8E%E6%88%91%E4%BB%AC%E4%B9%8B%E5%89%8D%E5%88%9B%E5%BB%BA%E7%9A%84%E8%84%9A%E6%9C%AC%E4%B8%80%E6%A0%B7%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bbootstrap-tool.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E7%94%A8%E7%BA%A2%E8%89%B2%E6%96%87%E6%9C%AC%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%EF%BC%8C%E5%B9%B6%E4%BB%A5%E9%94%99%E8%AF%AF%E9%80%80%E5%87%BA%E4%BB%A3%E7%A0%81%201%20%E9%80%80%E5%87%BA%20Node.js%20%E8%BF%9B%E7%A8%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Efunction%26nbsp%3BexitWithError(errorMessage)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconsole.error(chalk.red(errorMessage))%3B%5Cn%26nbsp%3B%26nbsp%3Bprocess.exit(1)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BD%93%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%A4%84%E7%90%86%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E9%80%9A%E8%BF%87%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%9C%A8%E5%90%84%E4%B8%AA%E5%9C%B0%E6%96%B9%E4%BD%BF%E7%94%A8%E8%BF%99%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%E4%B8%89%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%9Agit%E3%80%81node%20%E5%92%8C%20npx%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20which%20%E5%BA%93%E6%9D%A5%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E6%A3%80%E6%9F%A5%E8%BF%99%E4%BA%9B%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%E5%B9%B6%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20which%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bwhich%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%BC%95%E5%85%A5%E5%AE%83%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3Bwhich%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bwhich%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BD%BF%E7%94%A8%E5%AE%83%E7%9A%84%20checkRequiredProgramsExist%20%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckRequiredProgramsExist(programs)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3Bprogram%26nbsp%3Bof%26nbsp%3Bprograms)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bwhich(program)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BRequired%26nbsp%3Bcommand%26nbsp%3B%24%7Berror.message%7D%60)%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%90%8D%E7%A7%B0%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%95%B0%E7%BB%84%EF%BC%8C%E5%AF%B9%E6%AF%8F%E4%B8%AA%E7%A8%8B%E5%BA%8F%E8%B0%83%E7%94%A8%20which%20%E5%87%BD%E6%95%B0%E3%80%82%E5%A6%82%E6%9E%9C%20which%20%E6%89%BE%E5%88%B0%E4%BA%86%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%B7%AF%E5%BE%84%EF%BC%8C%E5%AE%83%E5%B0%86%E8%BF%94%E5%9B%9E%E8%AF%A5%E7%A8%8B%E5%BA%8F%E3%80%82%E5%90%A6%E5%88%99%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%AF%A5%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E6%8A%9B%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E3%80%82%E5%A6%82%E6%9E%9C%E6%9C%89%E4%BB%BB%E4%BD%95%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E8%B0%83%E7%94%A8%20exitWithError%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%E5%B9%B6%E5%81%9C%E6%AD%A2%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%8F%AF%E4%BB%A5%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%AF%B9%20checkRequiredProgramsExist%20%E7%9A%84%E8%B0%83%E7%94%A8%EF%BC%8C%E4%BB%A5%E6%A3%80%E6%9F%A5%E6%88%91%E4%BB%AC%E7%9A%84%E5%B7%A5%E5%85%B7%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%8F%AF%E7%94%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckRequiredProgramsExist(%5B%26%2334%3Bgit%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnode%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnpx%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%B7%BB%E5%8A%A0%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E9%80%89%E9%A1%B9%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%B0%86%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E5%90%AF%E5%8A%A8%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%88%91%E4%BB%AC%E5%B8%8C%E6%9C%9B%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9A%84%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E3%80%82%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E8%A6%81%E7%BB%99%E8%84%9A%E6%9C%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20--directory%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E5%86%85%E7%BD%AE%E4%BA%86%20minimist%20%E5%8C%85%EF%BC%8C%E5%AE%83%E8%83%BD%E5%A4%9F%E8%A7%A3%E6%9E%90%E4%BC%A0%E9%80%92%E7%BB%99%E8%84%9A%E6%9C%AC%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%E8%BF%99%E4%BA%9B%E8%A2%AB%E8%A7%A3%E6%9E%90%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E8%A2%AB%20zx%20%E5%8C%85%E4%BD%9C%E4%B8%BA%20argv%20%E6%8F%90%E4%BE%9B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E5%90%8D%E4%B8%BA%20directory%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E6%A3%80%E6%9F%A5%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Elet%26nbsp%3BtargetDirectory%26nbsp%3B%3D%26nbsp%3Bargv.directory%3B%5Cnif%26nbsp%3B(!targetDirectory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%26%2334%3BError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%26%2334%3B)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%20directory%20%E5%8F%82%E6%95%B0%E8%A2%AB%E4%BC%A0%E9%80%92%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%E5%AE%83%E6%98%AF%E5%90%A6%E6%98%AF%E5%B7%B2%E7%BB%8F%E5%AD%98%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%E7%9A%84%E8%B7%AF%E5%BE%84%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%8F%90%E4%BE%9B%E7%9A%84%20fs.pathExists%20%E6%96%B9%E6%B3%95%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3EtargetDirectory%26nbsp%3B%3D%26nbsp%3Bpath.resolve(targetDirectory)%3B%5Cnif%26nbsp%3B(!(await%26nbsp%3Bfs.pathExists(targetDirectory)))%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BTarget%26nbsp%3Bdirectory%26nbsp%3B%26%2339%3B%24%7BtargetDirectory%7D%26%2339%3B%26nbsp%3Bdoes%26nbsp%3Bnot%26nbsp%3Bexist%60)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E8%B7%AF%E5%BE%84%E5%AD%98%E5%9C%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%20cd%20%E5%87%BD%E6%95%B0%E6%9D%A5%E5%88%87%E6%8D%A2%E5%BD%93%E5%89%8D%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%9A%E2%80%8D%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ecd(targetDirectory)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%9C%A8%E6%B2%A1%E6%9C%89--directory%20%E5%8F%82%E6%95%B0%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E5%BA%94%E8%AF%A5%E4%BC%9A%E6%94%B6%E5%88%B0%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3B.%2Fbootstrap-tool.mjs%5CnError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E5%85%A8%E5%B1%80%20Git%20%E8%AE%BE%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%A8%8D%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%8C%E4%BD%86%E9%A6%96%E5%85%88%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%20Git%20%E6%98%AF%E5%90%A6%E6%9C%89%E5%AE%83%E9%9C%80%E8%A6%81%E7%9A%84%E9%85%8D%E7%BD%AE%E3%80%82%E6%88%91%E4%BB%AC%E8%A6%81%E7%A1%AE%E4%BF%9D%E6%8F%90%E4%BA%A4%E4%BC%9A%E8%A2%AB%20GitHub%20%E7%AD%89%E4%BB%A3%E7%A0%81%E6%89%98%E7%AE%A1%E6%9C%8D%E5%8A%A1%E6%AD%A3%E7%A1%AE%E5%BD%92%E7%B1%BB%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%81%9A%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E8%BF%99%E9%87%8C%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E7%B4%A2%20Git%20%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%E7%9A%84%E5%80%BC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetGlobalGitSettingValue(settingName)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B%26%2334%3B%26%2334%3B%3B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60git%26nbsp%3Bconfig%26nbsp%3B--global%26nbsp%3B--get%26nbsp%3B%24%7BsettingName%7D%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B).stdout.trim()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%2F%2F%26nbsp%3BIgnore%26nbsp%3Bprocess%26nbsp%3Boutput%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BsettingValue%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E5%85%B3%E9%97%AD%20zx%20%E9%BB%98%E8%AE%A4%E8%AE%BE%E7%BD%AE%E7%9A%84%20verbose%20%E6%A8%A1%E5%BC%8F%E3%80%82%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%EF%BC%8C%E5%BD%93%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%97%B6%EF%BC%8C%E8%AF%A5%E5%91%BD%E4%BB%A4%E5%92%8C%E5%AE%83%E5%8F%91%E9%80%81%E5%88%B0%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E7%9A%84%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9%E9%83%BD%E4%B8%8D%E4%BC%9A%E8%A2%AB%E6%98%BE%E7%A4%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%9C%A8%E5%87%BD%E6%95%B0%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E5%B0%86%20verbose%20%E6%A8%A1%E5%BC%8F%E9%87%8D%E6%96%B0%E6%89%93%E5%BC%80%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E5%BD%B1%E5%93%8D%E5%88%B0%E6%88%91%E4%BB%AC%E7%A8%8D%E5%90%8E%E5%9C%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%85%B6%E4%BB%96%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%20checkGlobalGitSettings%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A5%E5%87%BD%E6%95%B0%E6%8E%A5%E6%94%B6%20Git%20%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%E7%BB%84%E6%88%90%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%B0%86%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%AF%8F%E4%B8%AA%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E4%BC%A0%E9%80%92%E7%BB%99%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E4%BB%A5%E6%A3%80%E7%B4%A2%E5%85%B6%E5%80%BC%E3%80%82%E5%A6%82%E6%9E%9C%E8%AE%BE%E7%BD%AE%E6%B2%A1%E6%9C%89%E5%80%BC%EF%BC%8C%E5%B0%86%E6%98%BE%E7%A4%BA%E8%AD%A6%E5%91%8A%E4%BF%A1%E6%81%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckGlobalGitSettings(settingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3BsettingName%26nbsp%3Bof%26nbsp%3BsettingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetGlobalGitSettingValue(settingName)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!settingValue)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.warn(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.yellow(%60Warning%3A%26nbsp%3BGlobal%26nbsp%3Bgit%26nbsp%3Bsetting%26nbsp%3B%26%2339%3B%24%7BsettingName%7D%26%2339%3B%26nbsp%3Bis%26nbsp%3Bnot%26nbsp%3Bset.%60)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E7%BB%99%20checkGlobalGitSettings%20%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E8%B0%83%E7%94%A8%EF%BC%8C%E6%A3%80%E6%9F%A5%20user.name%20%E5%92%8C%20user.email%20%E7%9A%84%20Git%20%E8%AE%BE%E7%BD%AE%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E8%A2%AB%E8%AE%BE%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckGlobalGitSettings(%5B%26%2334%3Buser.name%26%2334%3B%2C%26nbsp%3B%26%2334%3Buser.email%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%88%9D%E5%A7%8B%E5%8C%96%20Git%20%E4%BB%93%E5%BA%93%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E6%B7%BB%E5%8A%A0%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Binit%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20package.json%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%AF%8F%E4%B8%AA%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%83%BD%E9%9C%80%E8%A6%81%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E8%BF%99%E6%98%AF%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E5%AE%9A%E4%B9%89%E5%85%83%E6%95%B0%E6%8D%AE%E7%9A%84%E5%9C%B0%E6%96%B9%EF%BC%8C%E6%8C%87%E5%AE%9A%E9%A1%B9%E7%9B%AE%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E5%8C%85%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%B7%BB%E5%8A%A0%E5%AE%9E%E7%94%A8%E7%9A%84%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%94%9F%E6%88%90%20package.json%20%E6%96%87%E4%BB%B6%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E5%87%A0%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%98%AF%20readPackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%AF%BB%E5%8F%96%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BreadPackageJson(directory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3Bfs.readJSON(packageJsonFilepath)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20writePackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E5%90%91%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E5%86%99%E5%85%A5%E6%9B%B4%E6%94%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BwritePackageJson(directory%2C%26nbsp%3Bcontents)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bfs.writeJSON(packageJsonFilepath%2C%26nbsp%3Bcontents%2C%26nbsp%3B%7B%26nbsp%3Bspaces%3A%26nbsp%3B2%26nbsp%3B%7D)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%20fs.readJSON%20%E5%92%8C%20fs.writeJSON%20%E6%96%B9%E6%B3%95%E6%98%AF%E7%94%B1%20fs-extra%20%E5%BA%93%E6%8F%90%E4%BE%9B%E7%9A%84%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E5%AE%9A%E4%B9%89%E4%BA%86%20package.json%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%BC%80%E5%A7%8B%E8%80%83%E8%99%91%20package.json%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E6%94%AF%E6%8C%81%E4%B8%A4%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ECommonJS%20Modules%20(CJS)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DKTweLvts6a1zOlUbn0cnCA%253D%253D.WRSoJ3t37Y2GYjanjStt81N%252BkCOGoR11gK8pv6Fck09uaKTSXHq5mvMcWutIRxYU%3C%2Fspan%3E%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%BF%E7%94%A8%20module.exports%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20require()%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EECMAScript%20Modules%20(ESM)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DOUbF%252BkjeOpAlt3Fo9PFGFw%253D%253D.Ex%252BQVnop7rVNKtYxrnp%252Fhcm08eFRE7K2XLUBlFFQ7D4%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%BD%BF%E7%94%A8%20export%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20import%20%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E7%94%9F%E6%80%81%E7%B3%BB%E7%BB%9F%E6%AD%A3%E5%9C%A8%E9%80%90%E6%AD%A5%E9%87%87%E7%94%A8%20ES%20%E6%A8%A1%E5%9D%97%EF%BC%8C%E8%BF%99%E5%9C%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%20JavaScript%20%E4%B8%AD%E6%98%AF%E5%BE%88%E5%B8%B8%E8%A7%81%E7%9A%84%E3%80%82%E5%BD%93%E4%BA%8B%E6%83%85%E5%A4%84%E4%BA%8E%E8%BF%87%E6%B8%A1%E9%98%B6%E6%AE%B5%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%86%B3%E5%AE%9A%E6%88%91%E4%BB%AC%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%BB%98%E8%AE%A4%E4%BD%BF%E7%94%A8%20CJS%20%E6%A8%A1%E5%9D%97%E8%BF%98%E6%98%AF%20ESM%20%E6%A8%A1%E5%9D%97%E3%80%82%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%BF%99%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForModuleSystem(moduleSystems)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Which%26nbsp%3BNode.js%26nbsp%3Bmodule%26nbsp%3Bsystem%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Buse%3F%26nbsp%3B(%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26nbsp%3Bor%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D)%26nbsp%3B%60%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchoices%3A%26nbsp%3BmoduleSystems%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BmoduleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E5%87%BD%E6%95%B0%E4%BD%BF%E7%94%A8%E7%9A%84%20question%20%E5%87%BD%E6%95%B0%E7%94%B1%20zx%20%E6%8F%90%E4%BE%9B%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getNodeModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E8%B0%83%E7%94%A8%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E6%A3%80%E6%9F%A5%E6%89%80%E8%BE%93%E5%85%A5%E7%9A%84%E5%80%BC%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%8D%E6%98%AF%EF%BC%8C%E5%AE%83%E5%B0%86%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetNodeModuleSystem()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystems%26nbsp%3B%3D%26nbsp%3B%5B%26%2334%3Bmodule%26%2334%3B%2C%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForModuleSystem(moduleSystems)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BisValidModuleSystem%26nbsp%3B%3D%26nbsp%3BmoduleSystems.includes(selectedModuleSystem)%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!isValidModuleSystem)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BModule%26nbsp%3Bsystem%26nbsp%3Bmust%26nbsp%3Bbe%26nbsp%3Beither%26nbsp%3B%26%2339%3B%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26%2339%3B%26nbsp%3Bor%26nbsp%3B%26%2339%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%26%2339%3B%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BselectedModuleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E8%BF%90%E8%A1%8C%20npm%20init%20%E5%91%BD%E4%BB%A4%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npm%26nbsp%3Binit%26nbsp%3B--yes%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E8%AF%BB%E5%8F%96%E6%96%B0%E5%88%9B%E5%BB%BA%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E8%AF%A2%E9%97%AE%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%B3%BB%E7%BB%9F%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA%20packageJson%20%E5%AF%B9%E8%B1%A1%E4%B8%AD%E7%9A%84%20type%20%E5%B1%9E%E6%80%A7%E5%80%BC%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%E5%85%B6%E5%86%99%E5%9B%9E%E5%88%B0%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackageJson%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5CnpackageJson.type%26nbsp%3B%3D%26nbsp%3BselectedModuleSystem%3B%5Cnawait%26nbsp%3BwritePackageJson(targetDirectory%2C%26nbsp%3BpackageJson)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%8F%90%E7%A4%BA%EF%BC%9A%E5%BD%93%E4%BD%A0%E7%94%A8--yes%20%E6%A0%87%E5%BF%97%E8%BF%90%E8%A1%8C%20npm%20init%20%E6%97%B6%EF%BC%8C%E8%A6%81%E6%83%B3%E5%9C%A8%20package.json%20%E4%B8%AD%E8%8E%B7%E5%BE%97%E5%90%88%E7%90%86%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%EF%BC%8C%E8%AF%B7%E7%A1%AE%E4%BF%9D%E4%BD%A0%E8%AE%BE%E7%BD%AE%E4%BA%86%20npminit-*%E7%9A%84%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DX0aVKO8sVtj0bgZhFmgjVw%253D%253D.hxYbJxX5X2odlcPpk5MdIVLkT7ESAsFMhFnFSRBftI2c2BjNTUCtV1gwdXnpxWGI%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E9%A1%B9%E7%9B%AE%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E4%BD%BF%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E5%90%8E%E8%83%BD%E5%A4%9F%E8%BD%BB%E6%9D%BE%E5%9C%B0%E5%BC%80%E5%A7%8B%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForPackages%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E5%93%AA%E4%BA%9B%20npm%20%E5%8C%85%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForPackages()%26nbsp%3B%7B%5Cnlet%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3BWhich%26nbsp%3Bnpm%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Binstall%26nbsp%3Bfor%26nbsp%3Bthis%26nbsp%3Bproject%3F%26nbsp%3B%26%2334%3B%5Cn)%3B%5CnpackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall%5Cn%26nbsp%3B%26nbsp%3B.trim()%5Cn%26nbsp%3B%26nbsp%3B.split(%26%2334%3B%26nbsp%3B%26%2334%3B)%5Cn%26nbsp%3B%26nbsp%3B.filter((pkg)%26nbsp%3B%3D%26gt%3B%26nbsp%3Bpkg)%3B%5Cnreturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E9%98%B2%E6%AD%A2%E6%88%91%E4%BB%AC%E5%9C%A8%E8%BE%93%E5%85%A5%E5%8C%85%E5%90%8D%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E5%88%AB%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20identifyInvalidNpmPackages%20%E5%87%BD%E6%95%B0%E3%80%82%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E5%B0%86%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%20npm%20%E5%8C%85%E5%90%8D%E6%95%B0%E7%BB%84%EF%BC%8C%E7%84%B6%E5%90%8E%E8%BF%90%E8%A1%8C%20npm%20view%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E6%9F%A5%E5%AE%83%E4%BB%AC%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BidentifyInvalidNpmPackages(packages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3B%5B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(const%26nbsp%3Bpkg%26nbsp%3Bof%26nbsp%3Bpackages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Bview%26nbsp%3B%24%7Bpkg%7D%60%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BinvalidPackages.push(pkg)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BinvalidPackages%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getPackagesToInstall%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E5%88%9A%E5%88%9A%E5%88%9B%E5%BB%BA%E7%9A%84%E4%B8%A4%E4%B8%AA%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetPackagesToInstall()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForPackages()%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BidentifyInvalidNpmPackages(packagesToInstall)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BallPackagesExist%26nbsp%3B%3D%26nbsp%3BinvalidPackages.length%26nbsp%3B%3D%3D%3D%26nbsp%3B0%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!allPackagesExist)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BThe%26nbsp%3Bfollowing%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Bnot%26nbsp%3Bexist%26nbsp%3Bon%26nbsp%3Bnpm%3A%26nbsp%3B%24%7BinvalidPackages.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%2C%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%9C%89%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%90%8D%E7%A7%B0%E4%B8%8D%E6%AD%A3%E7%A1%AE%EF%BC%8C%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E6%97%A6%E6%88%91%E4%BB%AC%E5%BE%97%E5%88%B0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E6%9C%89%E6%95%88%E5%8C%85%E5%88%97%E8%A1%A8%EF%BC%8C%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20npm%20install%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E5%AE%89%E8%A3%85%E5%AE%83%E4%BB%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cnconst%26nbsp%3BhavePackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall.length%26nbsp%3B%26gt%3B%26nbsp%3B0%3B%5Cnif%26nbsp%3B(havePackagesToInstall)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Binstall%26nbsp%3B%24%7BpackagesToInstall%7D%60%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E4%B8%BA%E5%B7%A5%E5%85%B7%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE%E6%98%AF%E6%88%91%E4%BB%AC%E7%94%A8%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E7%9A%84%E6%9C%80%E4%BD%B3%E4%BA%8B%E9%A1%B9%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA.gitignore%20%E6%96%87%E4%BB%B6%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E6%84%8F%E5%A4%96%E5%9C%B0%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E5%9C%A8%20Git%20%E4%BB%93%E5%BA%93%E4%B8%AD%E5%87%BA%E7%8E%B0%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bgitignore%26nbsp%3Bnode%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8%20gitignore%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DV%252FIoxipE2WxmNECDRNKMqg%253D%253D.7Y4d34n%252BoUVlJkYEiJt3NLa9RHn2pYtKq%252BHpO67HIQjfjKAHIxcMynZzTudktHaV%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E5%8C%85%EF%BC%8C%E4%BB%8E%20GitHub%20%E7%9A%84%20gitignore%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3E%20https%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DSzh56TKqT6gYmrJidM7ZXg%253D%253D.BK7Vf5F73GaplJKeN48OsobM6U4EPriatZOr3dBhsSVZIuIUiktyqfS1jhLLtQ7o%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E6%A8%A1%E6%9D%BF%E4%B8%AD%E6%8B%89%E5%8F%96%20Node.js%20%E7%9A%84.gitignore%20%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E7%9A%84%20EditorConfig%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DdGD5%252BEyCTqLfqDSif7%252FHgQ%253D%253D.xgNWBjR6m%252FIUFlG1UmM3CYX2R%252BLXFN531lZhlvCRRWs%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%81Prettier%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3Dn7clHFqLMZZala0zu1JjdQ%253D%253D.jivAg4cL8HkSAhuurMUHrlfhGGILOpveTQR0rjCRXyg%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%92%8C%20ESLint%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DJ4jXEAmmBQ83%252FWSrOtTsAQ%253D%253D.b%252FKC0kT%252FZWZQ9KBItXDMQHWJBzc5aW9hUZsxWHBsMY4%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E4%B8%80%E4%B8%AA%E5%8F%AB%E5%81%9A%20Mrm%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E7%9A%84%20mrm%20%E4%BE%9D%E8%B5%96%E9%A1%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--global%26nbsp%3Bmrm%26nbsp%3Bmrm-task-editorconfig%26nbsp%3Bmrm-task-prettier%26nbsp%3Bmrm-task-eslint%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%B7%BB%E5%8A%A0%20mrm%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beditorconfig%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Bprettier%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beslint%60%3B%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EMrm%20%E8%B4%9F%E8%B4%A3%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%E3%80%82%E5%AE%83%E8%BF%98%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E7%94%9F%E6%88%90%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BB%A5%E7%AC%A6%E5%90%88%E6%88%91%E4%BB%AC%E7%9A%84%E4%B8%AA%E4%BA%BA%E5%81%8F%E5%A5%BD%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20README%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E7%9A%84%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%E8%AF%BB%E5%8F%96%E9%A1%B9%E7%9B%AE%E5%90%8D%E7%A7%B0%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA%E5%9F%BA%E6%9C%AC%E7%9A%84%20Markdown%20%E6%A0%BC%E5%BC%8F%E7%9A%84%20README%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E5%86%99%E5%85%A5%20README.md%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3B%7B%26nbsp%3Bname%3A%26nbsp%3BprojectName%26nbsp%3B%7D%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BreadmeContents%26nbsp%3B%3D%26nbsp%3B%60%23%26nbsp%3B%24%7BprojectName%7D%5Cn...%5Cn%60%3B%5Cnawait%26nbsp%3Bfs.writeFile(%60%24%7BtargetDirectory%7D%2FREADME.md%60%2C%26nbsp%3BreadmeContents)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%9A%B4%E9%9C%B2%E7%9A%84%20fs.writeFile%20%E7%9A%84%20promise%20%E5%8F%98%E9%87%8F%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%8F%90%E4%BA%A4%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%80%E5%90%8E%EF%BC%8C%E6%98%AF%E6%97%B6%E5%80%99%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E7%94%A8%20git%20%E5%88%9B%E5%BB%BA%E7%9A%84%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%E4%BA%86%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Badd%26nbsp%3B.%60%3B%5Cnawait%26nbsp%3B%24%60git%26nbsp%3Bcommit%26nbsp%3B-m%26nbsp%3B%26%2334%3BAdd%26nbsp%3Bproject%26nbsp%3Bskeleton%26%2334%3B%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E6%9D%A1%E6%B6%88%E6%81%AF%EF%BC%8C%E7%A1%AE%E8%AE%A4%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B7%B2%E7%BB%8F%E6%88%90%E5%8A%9F%E5%90%AF%E5%8A%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econsole.log(%5Cn%26nbsp%3B%26nbsp%3Bchalk.green(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60%5C%5Cn%E2%9C%94%EF%B8%8F%26nbsp%3BThe%26nbsp%3Bproject%26nbsp%3B%24%7BprojectName%7D%26nbsp%3Bhas%26nbsp%3Bbeen%26nbsp%3Bsuccessfully%26nbsp%3Bbootstrapped!%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B)%5Cn)%3B%5Cnconsole.log(chalk.green(%60Add%26nbsp%3Ba%26nbsp%3Bgit%26nbsp%3Bremote%26nbsp%3Band%26nbsp%3Bpush%26nbsp%3Byour%26nbsp%3Bchanges.%60))%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%90%AF%E5%8A%A8%E6%96%B0%E9%A1%B9%E7%9B%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bnew-project%5Cn.%2Fbootstrap-tool.mjs%26nbsp%3B--directory%26nbsp%3Bnew-project%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%B9%B6%E8%A7%82%E7%9C%8B%E6%88%91%E4%BB%AC%E6%89%80%E5%81%9A%E7%9A%84%E4%B8%80%E5%88%87%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%80%BB%E7%BB%93%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E5%A6%82%E4%BD%95%E5%9C%A8%20Node.js%20%E4%B8%AD%E5%80%9F%E5%8A%A9%20Google%20%E7%9A%84%20zx%20%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E5%BC%BA%E5%A4%A7%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E4%BA%86%E5%AE%83%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%92%8C%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%81%B5%E6%B4%BB%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%B0%E7%9B%AE%E5%89%8D%E4%B8%BA%E6%AD%A2%EF%BC%8C%E6%88%91%E4%BB%AC%E6%89%80%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%8F%AA%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BC%80%E5%A7%8B%E3%80%82%E8%BF%99%E9%87%8C%E6%9C%89%E4%B8%80%E4%BA%9B%E5%8A%9F%E8%83%BD%E7%82%B9%E5%AD%90%EF%BC%8C%E4%BD%A0%E5%8F%AF%E8%83%BD%E6%83%B3%E5%B0%9D%E8%AF%95%E8%87%AA%E5%B7%B1%E6%B7%BB%E5%8A%A0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E3%80%82%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E8%BF%98%E4%B8%8D%E5%AD%98%E5%9C%A8%EF%BC%8C%E5%88%99%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E5%B9%B6%E8%AF%A2%E9%97%AE%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E6%83%B3%E8%A6%81%E4%B8%BA%E4%BB%96%E4%BB%AC%E5%88%9B%E5%BB%BA%E8%AF%A5%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BC%80%E6%BA%90%E5%8D%AB%E7%94%9F%E3%80%82%E9%97%AE%E9%97%AE%E7%94%A8%E6%88%B7%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E5%9C%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B0%86%E6%98%AF%E5%BC%80%E6%BA%90%E7%9A%84%E9%A1%B9%E7%9B%AE%E3%80%82%E5%A6%82%E6%9E%9C%E6%98%AF%E7%9A%84%E8%AF%9D%EF%BC%8C%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E8%AE%B8%E5%8F%AF%E8%AF%81%E5%92%8C%E8%B4%A1%E7%8C%AE%E8%80%85%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%20GitHub%20%E4%B8%8A%E7%9A%84%E4%BB%93%E5%BA%93%E3%80%82%E6%B7%BB%E5%8A%A0%E4%BD%BF%E7%94%A8%20GitHub%20CLI%20%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%9C%A8%20GitHub%20%E4%B8%8A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E3%80%82%E4%B8%80%E6%97%A6%E7%94%A8%20Git%20%E6%8F%90%E4%BA%A4%E4%BA%86%E5%88%9D%E5%A7%8B%E9%AA%A8%E6%9E%B6%EF%BC%8C%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E6%8E%A8%E9%80%81%E5%88%B0%E8%BF%99%E4%B8%AA%E4%BB%93%E5%BA%93%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E5%9C%A8%20GitHub%20%E4%B8%8A%E6%89%BE%E5%88%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E8%AF%91%E8%87%AA%EF%BC%9A%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5Z%252ByLQNgua%252FY5gnguxXllg%253D%253D.SeNINYETng%252BH6uZupDjhsYNRqM5GWB5jXVDlvMdMqsO9u3CmWfwe8DwT48iAvK%252Fsm8pflQ8jbxHc1sB281%252B6pA%253D%253D%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%9C%E8%80%85%EF%BC%9A%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3ESimon%20Plenderleith%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BB%A5%E4%B8%8A%E5%B0%B1%E6%98%AF%E6%9C%AC%E6%96%87%E7%9A%84%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9%E3%80%82%E5%A6%82%E6%9E%9C%E5%AF%B9%E4%BD%A0%E6%9C%89%E6%89%80%E5%B8%AE%E5%8A%A9%EF%BC%8C%E6%AC%A2%E8%BF%8E%E7%82%B9%E8%B5%9E%E3%80%81%E6%94%B6%E8%97%8F%E3%80%81%E8%BD%AC%E5%8F%91~%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Chr%3E%22%2C%22imageList%22%3A%5B%5D%2C%22mediaInfo%22%3A%7B%22userId%22%3A%22MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH%22%2C%22unsafeUserId%22%3A%224288553596503552%22%2C%22name%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22avatarUrl%22%3A%22https%3A%2F%2Fsf3-cdn-tos.toutiaostatic.com%2Fimg%2Fuser-avatar%2Fc14bb151d3505084033c82ee8238acde~300x300.image%22%2C%22description%22%3A%22%E6%AC%A2%E8%BF%8E%E5%85%B3%E6%B3%A8VX%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22userVerified%22%3A1%7D%2C%22seoTDK%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC-%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1%22%2C%22description%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22keywords%22%3A%22%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%2CNode.js%2CGoogle%2CJavaScript%2CBash%2CTypeScript%2CZsh%2CGitHub%2C%E7%BE%8E%E5%A5%BD%EF%BC%8C%E4%B8%80%E7%9B%B4%E5%9C%A8%E8%BA%AB%E8%BE%B9%22%2C%22publishTimestamp%22%3A%221678237205%22%2C%22modifiedTimestamp%22%3A%221685548306%22%7D%2C%22cover%22%3A%22https%3A%2F%2Fp3-sign.toutiaoimg.com%2Flarge%2Ftos-cn-i-qvj2lq49k0%2F7894dd4439eb4e78ad35208f496e841a%3F_iz%3D58558%26from%3Darticle.pc_detail%26x-expires%3D1690103402%26x-signature%3D5z%252FNWR2V4o%252B5W0fhczXkGuaSyYE%253D%22%2C%22logId%22%3A%222023071617100290B65219A60FE2C10ABA%22%2C%22sylpageConfig%22%3A%7B%22card%22%3A%7B%22id%22%3A%22%22%7D%7D%2C%22identity%22%3A%7B%22web_id%22%3A%227235169635611018810%22%2C%22user_is_login%22%3Afalse%7D%2C%22abtestInfo%22%3A%7B%22rsp_type%22%3A5%2C%22version_name%22%3A%224938400%22%2C%22parameters%22%3A%7B%22filter%22%3A%7B%22debug_enable_pc_small_video%22%3Afalse%2C%22enable_pc_small_video%22%3Atrue%7D%2C%22home_nav_conf%22%3A%7B%22dcd_out%22%3A1%7D%2C%22optimus%22%3A%7B%22rule_rank_rules%22%3A%22ranking_rule_list%20%7B%5Cn%20%20id%3A%201221233%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2212123%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%202%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%2020458%5Cn%20%20priority%3A%203%5Cn%20%20enabled%3A%20true%5Cn%20%20category%3A%2020458%5Cn%20%20type%3A%20WINDOW%5Cn%20%20window_rule%20%7B%5Cn%20%20%20%20type%3A%20SLIDE%5Cn%20%20%20%20size%3A%203%5Cn%20%20%20%20max%3A%201%5Cn%20%20%7D%5Cn%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%201111024%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2211024%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%206%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%22%7D%2C%22page_upgrade%22%3A%7B%22new_profile%22%3Atrue%2C%22video_double_column%22%3Atrue%7D%2C%22recall%22%3A%7B%22debug_filter_reason_list%22%3A%5B%5D%2C%22debug_recall_reason_list%22%3A%5B70%2C71%2C72%2C73%2C80%2C83%5D%2C%22enable_debug_filter_reason%22%3Atrue%2C%22enable_debug_recall_reason%22%3Atrue%2C%22friend_feed%22%3A%7B%22control_nums%22%3A1500%2C%22count%22%3A1000%2C%22enable%22%3Atrue%2C%22enable_cpp_friend_feed%22%3Atrue%2C%22enable_friend_feed_container_filter%22%3Atrue%2C%22enable_group_status_filter%22%3Atrue%2C%22params%22%3A%7B%7D%2C%22top_k%22%3A10%2C%22use_new_friend_recall%22%3Atrue%2C%22valid_group_source%22%3A%5B2%2C5%2C15%2C23%2C16%2C19%2C21%2C132%5D%2C%22weight%22%3A20%7D%7D%2C%22seraph%22%3A%7B%22rule_rank_rules_pc_small%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20%20%20%20%20%20id%3A%2022124%20%5Cn%20%20%20%20%20%20%20%20%20priority%3A%200%20%5Cn%20%20%20%20%20%20%20%20%20tags%3A%20%5C%2222124%5C%22%20%5Cn%20%20%20%20%20%20%20%20%20enabled%3A%20true%20%5Cn%20%20%20%20%20%20%20%20%20type%3A%20CARD%20%5Cn%20%20%20%20%20%20%20%20%20card_rule%20%7B%20%5Cn%20%20%20%20%20%20%20%20%20size%3A%206%20%5Cn%20%20%20%20%20%20%20%20%20num_cards%3A%201%5Cn%20%20%20%20%20%20%20%20%20type%3A%20SAME_SLOT%20%5Cn%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%22%2C%22rule_rank_rules_pc_small_window%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20id%3A%20222124%5Cn%20%20%20priority%3A%200%5Cn%20%20%20tags%3A%20%5C%2222124%5C%22%5Cn%20%20%20%20enabled%3A%20false%5Cn%20%20%20%20type%3A%20WINDOW%5Cn%20%20%20%20window_rule%20%7B%5Cn%20%20%20type%3A%20SLIDE%20%5Cn%20%20%20size%3A%2012%20%5Cn%20%20%20max%3A%206%20%5Cn%20%20%20%7D%5Cn%20%20%20%7D%22%7D%2C%22small_sort%22%3A%7B%22enable_filter_zhanwai%22%3Atrue%2C%22filter_genre_plog%22%3Afalse%2C%22filter_genre_small%22%3Afalse%2C%22skip_small_app_version_filter%22%3Afalse%2C%22skip_small_genre_filter%22%3Afalse%7D%2C%22sort%22%3A%7B%22allowed_ticai%22%3A%5B%22forum_post%22%2C%22pgc_text%22%2C%22pgc_video%22%2C%22short_video%22%5D%2C%22enable_optimus_gen_pc_mv_card%22%3Atrue%2C%22enable_optimus_gen_pc_sv_card%22%3Atrue%2C%22enable_pc_skip_app_smallvideo_card%22%3Atrue%7D%2C%22ugc_sort%22%3A%7B%22expore_smallvideo%22%3Atrue%7D%2C%22video_channel%22%3A%7B%22use_feed%22%3A1%2C%22rank%22%3A5%7D%7D%2C%22env_flag%22%3A0%7D%2C%22localCityInfo%22%3A%7B%22name%22%3A%22%E8%A5%84%E9%98%B3%22%2C%22code%22%3A%22420600%22%2C%22channelId%22%3A3202181326%7D%2C%22voteLink%22%3A%5B%7B%22keyword%22%3A%22%E6%9C%AB%E4%B8%96%E9%87%8D%E7%94%9F%EF%BC%8C%E6%88%91%E6%8A%A2%E4%BA%86%E5%A5%B3%E4%B8%BB%E7%9A%84%E9%87%91%E6%89%8B%E6%8C%87%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7045105728742231079%22%7D%2C%7B%22keyword%22%3A%22%E4%BA%BA%E5%9C%A8%E6%B5%B7%E8%B4%BC%3A%E6%88%91%E6%88%90%E4%B8%BA%E4%BA%86%E6%B5%B7%E5%86%9B%E5%A5%B3%E7%8E%8B%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7070145477789879300%22%7D%2C%7B%22keyword%22%3A%22%E6%B2%A1%E7%9E%8E%E7%9C%BC%E4%B8%89%E5%B9%B4%EF%BC%8C%E4%BD%86%E6%88%91%E7%9A%84%E5%AD%A6%E7%94%9F%E4%B8%8D%E6%98%AF%E4%BA%BA%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7118385133568134175%22%7D%2C%7B%22keyword%22%3A%22%E7%9C%9F%E5%8D%83%E9%87%91%E4%BB%8E%E4%BF%AE%E7%9C%9F%E7%95%8C%E5%9B%9E%E6%9D%A5%E4%BA%86%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F6983183491827502094%22%7D%2C%7B%22keyword%22%3A%22%E5%BC%82%E4%B8%96%E7%9B%B8%E9%81%87%E5%B0%BD%E4%BA%AB%E7%A4%BE%E6%AD%BB%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F583844%22%7D%2C%7B%22keyword%22%3A%22python%20ols%E5%9B%9E%E5%BD%92%E5%88%86%E6%9E%90%E7%BB%93%E6%9E%9C%E6%80%8E%E4%B9%88%E7%9C%8B%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131680%22%7D%2C%7B%22keyword%22%3A%22%E7%A5%9E%E5%A5%87%E5%AE%9D%E8%B4%9D%E4%B9%8B%E5%85%A8%E8%83%BD%E6%8E%8C%E9%97%A8%E4%BA%BA%E8%87%B4%E5%85%89%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F738595%22%7D%2C%7B%22keyword%22%3A%22%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3java8%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131722%22%7D%2C%7B%22keyword%22%3A%22linux%20mysql%20%E6%97%A5%E5%BF%97%E6%B8%85%E7%90%86%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1182964%22%7D%2C%7B%22keyword%22%3A%22%E6%88%91%E5%9C%A8%E5%AE%9D%E5%8F%AF%E6%A2%A6%E4%B8%96%E7%95%8C%E6%88%90%E4%B8%BA%E7%AC%AC%E4%B8%80%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F188604%22%7D%5D%2C%22grSensitive%22%3Afalse%2C%22showResearch%22%3Afalse%2C%22blockVisibility%22%3A%7B%22hotBoard%22%3Atrue%2C%22hotVideo%22%3Atrue%2C%22relatedRecommend%22%3Atrue%7D%2C%22isGreyTheme%22%3Afalse%2C%22searchBot%22%3Anull%7D%7D
npminstall${packagesToInstall}`;
}
为工具生成配置
创建项目配置是我们用项目启动工具自动完成的最佳事项。首先,让我们添加一个命令来生成一个.gitignore 文件,这样我们就不会意外地提交我们不希望在 Git 仓库中出现的文件:
await
社区精选|如何使用 zx 编写 shell 脚本-*今条头日**
{"@context":"https://schema.org","@type":"NewsArticle","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.toutiao.com/article/7207743318715793920/"},"headline":"社区精选|如何使用 zx 编写 shell 脚本","description":"在这篇文章中,我们将学习谷歌的 zx 库提供了什么,以及我们如何使用它来用 Node.js 编写 shell 脚本。","image":[],"datePublished":"2023-03-08T01:00:05.000Z","dateModified":"2023-05-31T15:51:46.000Z","author":{"@type":"Person","name":"计算科学与信息化","url":"https://www.toutiao.com/c/user/token/MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH/"},"publisher":{"@type":"Organization","name":"*今条头日**","logo":{"@type":"ImageObject","url":"https://lf3-static.bytednsdoc.com/obj/eden-cn/uhbfnupkbps/216.png"}}}
!function(r,e,t,n,s,a,o,i,c,l,d,p,m,f){a="precollect",o="getAttribute",i="addEventListener",(l=function(e){(d=[].slice.call(arguments)).push(Date.now(),location.href),(e==a?l.p.a:l.q).push(d)}).q=[],l.p={a:[]},r[s]=l,(p=document.createElement("script")).src=t+"?bid=toutiao_web_pc&globalName="+s,p.crossOrigin=0
window.Slardar&&window.Slardar("init",{bid:"toutiao_web_pc",pid:"news_article_detail",release:"1.0.0.1822",env:"online",sample:{sample_rate:1},plugins:{ajax:{ignoreUrls:["mcs.snssdk.com","mcs.zijieapi.com","i.snssdk.com","verify.snssdk.com","vcs.snssdk.com","mon.zijieapi.com","mon.snssdk.com"]},pageview:{routeMode:"manual"},blankScreen:{rootSelector:"#root"}}})
!function(n,t){if(n.LogAnalyticsObject=t,!n[t]){function c(){c.q.push(arguments)}c.q=c.q||[],n[t]=c}n[t].l=+new Date}(window,"collectEvent")
window.collectEvent("usePlugin","autotrack"),window.collectEvent("usePlugin","stay"),window.collectEvent("init",{app_id:24,channel:"cn",autotrack:{custom:"tea",text:!0},enable_stay_duration:!0}),window.collectEvent("config",{evtParams:{url:window.location.href,screen_width:window.screen.width,screen_height:window.screen.height,screen_inner_width:window.innerWidth,screen_inner_height:window.innerHeight}})
window.byted_acrawler&&window.byted_acrawler.init({aid:24,dfp:!0})
window.TTGCaptcha&&window.TTGCaptcha.init({commonOptions:{aid:24,iid:"0",did:"0"}})
window.secsdk&&window.secsdk.csrf.setProtectedHost({"www.toutiao.com":{GET:[],POST:[/^\/api\/pc\/user\/fans_digg/,/^\/api\/pc\/user\/delete/,/^\/api\/pc\/user\/follow/,/^\/c\/ugc\/content\/repost/,/^\/group\/repin/,/^\/group\/unrepin/,/^\/api\/pc\/user\/stick/,/^\/api\/pc\/user\/unstick/,/^\/c\/user\/unfollow/,/^\/wenda\/v5\/interact\/followanswer/,/^\/wenda\/v5\/interact\/followquestion/,/^\/wenda\/v5\/interact\/digganswer/,/^\/wenda\/v5\/interact\/deleteanswer/,/^\/user_data\/batch_action/],PUT:[],PATCH:[],DELETE:[]}})
"undefined"!=typeof window&&"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("/sw.js").catch(function(e){window.Slardar&&window.Slardar("emit","counter",{name:"sw-register-error",value:1})})})
function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-QEHZPBE5HH")
%7B%22data%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%22%2C%22abstract%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22articleType%22%3A%22article%22%2C%22itemId%22%3A%227207743318715793920%22%2C%22groupId%22%3A%227207743318715793920%22%2C%22groupSource%22%3A2%2C%22isOriginal%22%3Afalse%2C%22banComment%22%3Afalse%2C%22publishTime%22%3A%222023-03-08%2009%3A00%22%2C%22source%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22tag%22%3A%22technique%22%2C%22mediaSite%22%3Anull%2C%22pathname%22%3A%22%2Farticle%2F7207743318715793920%2F%22%2C%22useCandle%22%3Afalse%2C%22isExclusive%22%3Afalse%2C%22favorite%22%3Afalse%2C%22relation%22%3A%7B%22isFollowing%22%3Afalse%2C%22isFollowed%22%3Afalse%7D%2C%22likeData%22%3A%7B%22userLikeStatus%22%3A0%2C%22count%22%3A1%7D%2C%22isSelf%22%3Afalse%2C%22content%22%3A%22%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%89%8D%E8%A8%80%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E6%9D%A5%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E5%BC%95%E5%AF%BC%E9%85%8D%E7%BD%AE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E7%BC%96%E5%86%99%20Shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E9%97%AE%E9%A2%98%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%94%B1%20Bash%20%E6%88%96%E8%80%85%20zsh%20%E6%89%A7%E8%A1%8C%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%98%AF%E8%87%AA%E5%8A%A8%E5%8C%96%E9%87%8D%E5%A4%8D%E4%BB%BB%E5%8A%A1%E7%9A%84%E5%A5%BD%E6%96%B9%E6%B3%95%E3%80%82Node.js%20%E4%BC%BC%E4%B9%8E%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E7%90%86%E6%83%B3%E9%80%89%E6%8B%A9%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E8%AE%B8%E5%A4%9A%E6%A0%B8%E5%BF%83%E6%A8%A1%E5%9D%97%EF%BC%8C%E5%B9%B6%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E5%AF%BC%E5%85%A5%E4%BB%BB%E4%BD%95%E6%88%91%E4%BB%AC%E9%80%89%E6%8B%A9%E7%9A%84%E5%BA%93%E3%80%82%E5%AE%83%E8%BF%98%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%AE%BF%E9%97%AE%20JavaScript%20%E6%8F%90%E4%BE%9B%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E5%92%8C%E5%86%85%E7%BD%AE%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E4%BD%A0%E5%B0%9D%E8%AF%95%E7%BC%96%E5%86%99%E8%BF%90%E8%A1%8C%E5%9C%A8%20Node.js%20%E4%B8%AD%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E4%BD%A0%E4%BC%9A%E5%8F%91%E7%8E%B0%E8%BF%99%E6%B2%A1%E6%9C%89%E4%BD%A0%E6%83%B3%E8%B1%A1%E4%B8%AD%E7%9A%84%E9%82%A3%E4%B9%88%E9%A1%BA%E5%88%A9%E3%80%82%E4%BD%A0%E9%9C%80%E8%A6%81%E4%B8%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%BC%96%E5%86%99%E7%89%B9%E6%AE%8A%E7%9A%84%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%EF%BC%8C%E6%B3%A8%E6%84%8F%E8%BD%AC%E4%B9%89%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%EF%BC%8C%E7%84%B6%E5%90%8E%E6%9C%80%E7%BB%88%E4%B8%8E%20stdout%EF%BC%88%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%89%E5%92%8C%20stderr%EF%BC%88%E6%A0%87%E5%87%86%E9%94%99%E8%AF%AF%EF%BC%89%E6%89%93%E4%BA%A4%E9%81%93%E3%80%82%E8%BF%99%E4%B8%8D%E6%98%AF%E7%89%B9%E5%88%AB%E7%9B%B4%E8%A7%82%EF%BC%8C%E8%80%8C%E4%B8%94%E4%BC%9A%E4%BD%BF%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E7%9B%B8%E5%BD%93%E7%AC%A8%E6%8B%99%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EBash%20shell%20%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E6%99%AE%E9%81%8D%E9%80%89%E6%8B%A9%E3%80%82%E4%B8%8D%E9%9C%80%E8%A6%81%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%E6%9D%A5%E5%A4%84%E7%90%86%E5%AD%90%E8%BF%9B%E7%A8%8B%EF%BC%8C%E8%80%8C%E4%B8%94%E5%AE%83%E6%9C%89%E5%86%85%E7%BD%AE%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E6%9D%A5%E5%A4%84%E7%90%86%20stdout%20%E5%92%8C%20stderr%E3%80%82%E4%BD%86%E6%98%AF%E7%94%A8%20Bash%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E4%B9%9F%E4%B8%8D%E6%98%AF%E9%82%A3%E4%B9%88%E5%AE%B9%E6%98%93%E3%80%82%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9B%B8%E5%BD%93%E6%B7%B7%E4%B9%B1%EF%BC%8C%E4%BD%BF%E5%BE%97%E5%AE%83%E5%AE%9E%E7%8E%B0%E9%80%BB%E8%BE%91%EF%BC%8C%E6%88%96%E8%80%85%E5%A4%84%E7%90%86%E8%AF%B8%E5%A6%82%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E7%9A%84%E4%BA%8B%E6%83%85%E9%9D%9E%E5%B8%B8%E5%9B%B0%E9%9A%BE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%9C%89%E5%8A%A9%E4%BA%8E%E8%AE%A9%E4%BD%BF%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E9%AB%98%E6%95%88%E5%92%8C%E8%88%92%E9%80%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BE%80%E4%B8%8B%E9%98%85%E8%AF%BB%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%E9%9C%80%E8%A6%81%E9%81%B5%E5%BE%AA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%90%86%E6%83%B3%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E4%BD%A0%E5%BA%94%E8%AF%A5%E7%86%9F%E6%82%89%20JavaScript%20%E5%92%8C%20Node.js%20%E7%9A%84%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E9%80%82%E5%BA%94%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20Node.js%20%26gt%3B%3D%20v14.13.1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cbr%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E4%BB%8E%20GitHub%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DysCUhsc%252BhqUmtqCo55t8jw%253D%253D.aWhjUaPje6eTlkcFFdhW%252FeIVYyAz5G%252FoPbGuXjsxlpcJphMKguwz3NoHWQ9o2vDb47Nfnm9kpIP6Ol5r6Euc8A%253D%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E8%8E%B7%E5%BE%97%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E8%BF%90%E4%BD%9C%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EGoogle%20%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%88%9B%E5%BB%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%A4%84%E7%90%86%E8%BF%99%E4%BA%9B%E8%BF%9B%E7%A8%8B%E7%9A%84%20stdout%20%E5%92%8C%20stderr%20%E7%9A%84%E5%87%BD%E6%95%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E7%9A%84%E4%B8%BB%E8%A6%81%E5%87%BD%E6%95%B0%E6%98%AF%24%E5%87%BD%E6%95%B0%E3%80%82%E4%B8%8B%E9%9D%A2%E6%98%AF%E5%AE%83%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AE%9E%E9%99%85%E4%BE%8B%E5%AD%90%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnawait%26nbsp%3B%24%60ls%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E6%89%A7%E8%A1%8C%E4%B8%8A%E8%BF%B0%E4%BB%A3%E7%A0%81%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnbootstrap-tool%5Cnhello-world%5Cnnode_modules%5Cnpackage.json%5CnREADME.md%5Cntypescript%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%E7%9A%84%20JavaScript%20%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9C%8B%E8%B5%B7%E6%9D%A5%E6%9C%89%E7%82%B9%E5%8F%A4%E6%80%AA%E3%80%82%E5%AE%83%E4%BD%BF%E7%94%A8%E4%BA%86%E4%B8%80%E7%A7%8D%E5%8F%AB%E5%81%9A%E5%B8%A6%E6%A0%87%E7%AD%BE%E7%9A%84%E6%A8%A1%E6%9D%BF%E5%AD%97%E7%AC%A6%E4%B8%B2%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DVUkodq5er%252Fynbhfl3MUQZA%253D%253D.%252Flx6oaDCVK4XuYyYLqvDi2QMWjCwW1jKBvNQgfaGG0AVwpl7I2CYD4sJYHuonDSA6jj1qSSypc0aGVO%252BYuBMUiibG6pBkVwusg%252Bai1hbMXetqlwMTWVUEAbtabMCbXIs%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E3%80%82%E5%AE%83%E5%9C%A8%E5%8A%9F%E8%83%BD%E4%B8%8A%E4%B8%8E%E7%BC%96%E5%86%99%20await%20%24(%26%2334%3Bls%26%2334%3B)%E7%9B%B8%E5%90%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%85%B6%E4%BB%96%E5%87%A0%E4%B8%AA%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%EF%BC%8C%E4%BD%BF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E6%9B%B4%E5%AE%B9%E6%98%93%E3%80%82%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ecd()%E3%80%82%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E6%9B%B4%E6%94%B9%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Equestion()%E3%80%82%E8%BF%99%E6%98%AF%20Node.js%20readline%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%8C%85%E8%A3%85%E5%99%A8%E3%80%82%E5%AE%83%E4%BD%BF%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E5%8F%98%E5%BE%97%E7%AE%80%E5%8D%95%E6%98%8E%E4%BA%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%99%A4%E4%BA%86%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%A4%96%EF%BC%8C%E5%AE%83%E8%BF%98%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E5%87%A0%E4%B8%AA%E6%B5%81%E8%A1%8C%E7%9A%84%E5%BA%93%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Echalk%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D%252FL15Y8OQNrp05Scx6N4iaQ%253D%253D.r8AZkfcE1Ye%252BlNUznFA9RNJMhfyM0lttTiD0TmqjJQwoi7zjQjs5YiLjI%252FWDEooY%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%99%E4%B8%AA%E5%BA%93%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E4%B8%BA%E8%84%9A%E6%9C%AC%E7%9A%84%E8%BE%93%E5%87%BA%E6%B7%BB%E5%8A%A0%E9%A2%9C%E8%89%B2%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Eminimist%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5tMQ5d6qJ4STEHZeuiN0MA%253D%253D.x9GPOpXVZp5TGKknZCkwA10QP%252Ftw%252BW7fwnpYGg%252BnlJPJLK3RboT3jqy5WuPLFwPZ%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E4%B8%AA%E8%A7%A3%E6%9E%90%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E7%9A%84%E5%BA%93%E3%80%82%E7%84%B6%E5%90%8E%E5%AE%83%E4%BB%AC%E5%9C%A8%20argv%20%E5%AF%B9%E8%B1%A1%E4%B8%8B%E8%A2%AB%E6%9A%B4%E9%9C%B2%E5%87%BA%E6%9D%A5%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efetch%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D71LC44tCu%252FZoLOY2B7MfuA%253D%253D.GO%252FMi37T0KTmj8UXau9xdFUBiIk1I%252F8M%252FHk2hZYrhRb%252Fd3Vl0bzlr05hanNxzuVb%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EFetch%20API%20%E7%9A%84%20Node.js%20%E5%AE%9E%E7%8E%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E8%BF%9B%E8%A1%8C%20HTTP%20%E8%AF%B7%E6%B1%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efs-extra%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DcPZzXniTRFJdbq87FdwLWw%253D%253D.IsmhSUEjIcZAqw8FDidbUnNhhIVPT1gsFSo%252BchiXCAs9AaxUVT%252FEgbIvswUDVmK2%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%B8%80%E4%B8%AA%E6%9A%B4%E9%9C%B2%20Node.js%20%E6%A0%B8%E5%BF%83%20fs%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%BA%93%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B9%E6%B3%95%EF%BC%8C%E4%BD%BF%E5%85%B6%E6%9B%B4%E5%AE%B9%E6%98%93%E4%B8%8E%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%80%E8%B5%B7%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9F%A5%E9%81%93%E4%BA%86%20zx%20%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E4%BB%80%E4%B9%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E7%94%A8%E5%AE%83%E5%88%9B%E5%BB%BA%E7%AC%AC%E4%B8%80%E4%B8%AA%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bzx-shell-scripts%5Cncd%26nbsp%3Bzx-shell-scripts%5Cnnpm%26nbsp%3Binit%26nbsp%3B--yes%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%AE%89%E8%A3%85%20zx%20%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bzx%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E7%9A%84%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E7%94%A8%20npm%20%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E8%AF%A5%E5%BA%93%E3%80%82%E9%80%9A%E8%BF%87%E5%B0%86%E5%85%B6%E5%AE%89%E8%A3%85%E4%B8%BA%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%A1%AE%E4%BF%9D%20zx%20%E6%80%BB%E6%98%AF%E8%A2%AB%E5%AE%89%E8%A3%85%EF%BC%8C%E5%B9%B6%E6%8E%A7%E5%88%B6%20shell%20%E8%84%9A%E6%9C%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E7%89%88%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A1%B6%E7%BA%A7%20await%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%20Node.js%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E9%A1%B6%E7%BA%A7%20await%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%20await%20%E4%BD%8D%E4%BA%8E%20async%20%E5%87%BD%E6%95%B0%E7%9A%84%E5%A4%96%E9%83%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%9C%A8%20ES%20%E6%A8%A1%E5%9D%97%E7%9A%84%E6%A8%A1%E5%BC%8F%E4%B8%8B%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%EF%BC%8C%E8%AF%A5%E6%A8%A1%E5%BC%8F%E6%94%AF%E6%8C%81%E9%A1%B6%E7%BA%A7%20await%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%20package.json%20%E4%B8%AD%E6%B7%BB%E5%8A%A0%20%26%2334%3Btype%26%2334%3B%3A%20%26%2334%3Bmodule%26%2334%3B%20%E6%80%8E%E4%B9%88%E6%80%8E%E4%B9%88%E6%9D%A5%E8%A1%A8%E6%98%8E%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%A8%A1%E5%9D%97%E9%83%BD%E6%98%AF%20ES%20%E6%A8%A1%E5%9D%97%E3%80%82%E6%88%96%E8%80%85%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%B0%86%E5%8D%95%E4%B8%AA%E8%84%9A%E6%9C%AC%E7%9A%84%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E8%AE%BE%E7%BD%AE%E4%B8%BA%20.mjs%20%E3%80%82%E5%9C%A8%E6%9C%AC%E6%96%87%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20.mjs%20%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E5%B9%B6%E6%8D%95%E8%8E%B7%E8%BE%93%E5%87%BA%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B0%86%E5%85%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world.mjs%20%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%AE%83%E5%91%8A%E8%AF%89%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%88OS%EF%BC%89%E7%9A%84%E5%86%85%E6%A0%B8%E8%A6%81%E7%94%A8%20node%20%E7%A8%8B%E5%BA%8F%E8%BF%90%E8%A1%8C%E8%AF%A5%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%BA%9B%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%BD%BF%E7%94%A8%20zx%20%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8B%E9%9D%A2%E7%9A%84%E4%BB%A3%E7%A0%81%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%20ls%20%E7%A8%8B%E5%BA%8F%E3%80%82ls%20%E7%A8%8B%E5%BA%8F%E5%B0%86%E5%88%97%E5%87%BA%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%88%E8%84%9A%E6%9C%AC%E6%89%80%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%EF%BC%89%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BB%8E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BF%9B%E7%A8%8B%E4%B8%AD%E6%8D%95%E8%8E%B7%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B0%86%E5%85%B6%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E7%84%B6%E5%90%8E%E6%89%93%E5%8D%B0%E5%88%B0%E7%BB%88%E7%AB%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cnconsole.log(output)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E6%8A%8A%2Fusr%2Fbin%2Fenv%20zx%20%E6%94%BE%E5%9C%A8%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E7%9A%84%20shebang%20%E8%A1%8C%E4%B8%AD%EF%BC%8C%E4%BD%86%E6%88%91%E4%BB%AC%E7%94%A8%2Fusr%2Fbin%2Fenv%20node%20%E4%BB%A3%E6%9B%BF%E3%80%82%E8%BF%99%E6%98%AF%E5%9B%A0%E4%B8%BA%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%20zx%EF%BC%8C%E5%B9%B6%E4%BD%9C%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E6%98%8E%E7%A1%AE%E5%9C%B0%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E6%83%B3%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%E3%80%82%E8%BF%99%E6%9C%89%E5%8A%A9%E4%BA%8E%E6%98%8E%E7%A1%AE%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E4%BE%9D%E8%B5%96%E6%9D%A5%E8%87%AA%E5%93%AA%E9%87%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%20chmod%20%E6%9D%A5%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E5%A6%82%E4%B8%8B%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%88ls%EF%BC%89%E8%A2%AB%E5%8C%85%E5%90%AB%E5%9C%A8%E8%BE%93%E5%87%BA%E4%B8%AD%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%E6%98%BE%E7%A4%BA%E4%B8%A4%E6%AC%A1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BE%93%E5%87%BA%E7%9A%84%E6%9C%AB%E5%B0%BE%E5%A4%9A%E4%BA%86%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E9%BB%98%E8%AE%A4%E4%BB%A5%20verbose%20%E6%A8%A1%E5%BC%8F%E8%BF%90%E8%A1%8C%E3%80%82%E5%AE%83%E5%B0%86%E8%BE%93%E5%87%BA%E4%BD%A0%E4%BC%A0%E9%80%92%E7%BB%99%24%E5%87%BD%E6%95%B0%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%90%8C%E6%97%B6%E4%B9%9F%E8%BE%93%E5%87%BA%E8%AF%A5%E5%91%BD%E4%BB%A4%E7%9A%84%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%E8%BF%90%E8%A1%8C%20ls%20%E5%91%BD%E4%BB%A4%E5%89%8D%E5%8A%A0%E5%85%A5%E4%BB%A5%E4%B8%8B%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E6%9D%A5%E6%94%B9%E5%8F%98%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A4%A7%E5%A4%9A%E6%95%B0%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%A6%82%20ls%EF%BC%8C%E4%BC%9A%E5%9C%A8%E5%85%B6%E8%BE%93%E5%87%BA%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E5%AD%97%E7%AC%A6%EF%BC%8C%E4%BB%A5%E4%BD%BF%E8%BE%93%E5%87%BA%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E6%9B%B4%E6%98%93%E8%AF%BB%E3%80%82%E8%BF%99%E5%AF%B9%E5%8F%AF%E8%AF%BB%E6%80%A7%E6%9C%89%E5%A5%BD%E5%A4%84%EF%BC%8C%E4%BD%86%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E8%A6%81%E5%B0%86%E8%BE%93%E5%87%BA%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E6%9C%89%E8%BF%99%E4%B8%AA%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B0%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%20JavaScript%20String%23trim()%E5%87%BD%E6%95%B0%E6%8A%8A%E5%AE%83%E5%8E%BB%E6%8E%89%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E-%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cn%2B%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout.trim()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%86%8D%E6%AC%A1%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E7%BB%93%E6%9E%9C%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%A5%BD%E5%BE%88%E5%A4%9A%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ehello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%BC%95%E5%85%A5%20TypeScript%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E6%83%B3%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%BC%96%E5%86%99%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%BE%AE%E5%B0%8F%E7%9A%84%E5%8C%BA%E5%88%AB%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%8A%A0%E4%BB%A5%E8%AF%B4%E6%98%8E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9ATypeScript%20%E7%BC%96%E8%AF%91%E5%99%A8%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E5%AE%83%E5%A6%82%E4%BD%95%E7%BC%96%E8%AF%91%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%E8%80%83%E8%99%91%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E4%B8%8B%E9%9D%A2%E7%9A%84%20TypeScript%20%E9%85%8D%E7%BD%AE%E5%92%8C%E4%BB%A3%E7%A0%81%E6%98%AF%E4%B8%BA%E4%BA%86%E5%9C%A8%E5%A4%A7%E5%A4%9A%E6%95%B0%20TypeScript%20%E7%89%88%E6%9C%AC%E4%B8%8B%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E5%AE%89%E8%A3%85%E9%9C%80%E8%A6%81%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E7%9A%84%E4%BE%9D%E8%B5%96%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Btypescript%26nbsp%3Bts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ets-node%20%E5%8C%85%E6%8F%90%E4%BE%9B%E4%BA%86%E4%B8%80%E4%B8%AA%20TypeScript%20%E6%89%A7%E8%A1%8C%E5%BC%95%E6%93%8E%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E8%83%BD%E5%A4%9F%E8%BD%AC%E8%AF%91%E5%92%8C%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%9C%80%E8%A6%81%E5%88%9B%E5%BB%BA%20tsconfig.json%20%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E4%B8%8B%E9%9D%A2%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%7B%5Cn%26%2334%3BcompilerOptions%26%2334%3B%3A%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Btarget%26%2334%3B%3A%26nbsp%3B%26%2334%3Bes2017%26%2334%3B%2C%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Bmodule%26%2334%3B%3A%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5Cn%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E6%96%B0%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B9%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world-typescript.ts%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E6%B7%BB%E5%8A%A0%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%91%8A%E8%AF%89%20OS%20%E5%86%85%E6%A0%B8%E4%BD%BF%E7%94%A8%20ts-node%20%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B.%2Fnode_modules%2F.bin%2Fts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E4%B8%AD%E4%BD%BF%E7%94%A8%20await%20%E5%85%B3%E9%94%AE%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E6%8A%8A%E5%AE%83%E5%8C%85%E8%A3%85%E5%9C%A8%E4%B8%80%E4%B8%AA%E7%AB%8B%E5%8D%B3%E8%B0%83%E7%94%A8%E5%87%BD%E6%95%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%EF%BC%88IIFE%EF%BC%89%E4%B8%AD%EF%BC%8C%E6%AD%A3%E5%A6%82%20zx%20%E6%96%87%E6%A1%A3%E6%89%80%E5%BB%BA%E8%AE%AE%E7%9A%84%E9%82%A3%E6%A0%B7%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world-typescript.ts%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnvoid%26nbsp%3B(async%26nbsp%3Bfunction%26nbsp%3B()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60ls%60%3B%5Cn%7D)()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E9%9C%80%E8%A6%81%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E4%B8%8B%E9%9D%A2%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world-typescript.ts%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cntsconfig.json%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%E8%84%9A%E6%9C%AC%E4%B8%8E%E4%BD%BF%E7%94%A8%20JavaScript%20%E7%9B%B8%E4%BC%BC%EF%BC%8C%E4%BD%86%E9%9C%80%E8%A6%81%E5%AF%B9%E6%88%91%E4%BB%AC%E7%9A%84%E4%BB%A3%E7%A0%81%E8%BF%9B%E8%A1%8C%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E9%85%8D%E7%BD%AE%E5%92%8C%E5%8C%85%E8%A3%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%9E%84%E5%BB%BA%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E7%94%A8%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AF%86%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E7%94%A8%E5%AE%83%E6%9D%A5%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B7%A5%E5%85%B7%E3%80%82%E8%BF%99%E4%B8%AA%E5%B7%A5%E5%85%B7%E5%B0%86%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E9%80%9A%E5%B8%B8%E5%BE%88%E8%80%97%E6%97%B6%E7%9A%84%E8%BF%87%E7%A8%8B%EF%BC%9A%E4%B8%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E7%9A%84%E9%85%8D%E7%BD%AE%E6%8F%90%E4%BE%9B%E5%BC%95%E5%AF%BC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BA%A4%E4%BA%92%E5%BC%8F%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E3%80%82%E5%AE%83%E8%BF%98%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E5%86%85%E7%BD%AE%E7%9A%84%20chalk%20%E5%BA%93%EF%BC%8C%E4%BB%A5%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A2%9C%E8%89%B2%E9%AB%98%E4%BA%AE%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B9%B6%E6%8F%90%E4%BE%9B%E4%B8%80%E4%B8%AA%E5%8F%8B%E5%A5%BD%E7%9A%84%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C%E3%80%82%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E8%BF%98%E5%B0%86%E5%AE%89%E8%A3%85%E6%96%B0%E9%A1%B9%E7%9B%AE%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%EF%BC%8C%E6%89%80%E4%BB%A5%E5%AE%83%E5%B7%B2%E7%BB%8F%E5%87%86%E5%A4%87%E5%A5%BD%E8%AE%A9%E6%88%91%E4%BB%AC%E7%AB%8B%E5%8D%B3%E5%BC%80%E5%A7%8B%E5%BC%80%E5%8F%91%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%87%86%E5%A4%87%E5%BC%80%E5%A7%8B%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%90%8D%E4%B8%BA%20bootstrap-tool.mjs%20%E7%9A%84%E6%96%B0%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B9%B6%E6%B7%BB%E5%8A%A0%20shebang%20%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E6%A8%A1%E5%9D%97%EF%BC%8C%E4%BB%A5%E5%8F%8A%20Node.js%20%E6%A0%B8%E5%BF%83%20path%20%E6%A8%A1%E5%9D%97%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%2F%2F%26nbsp%3Bbootstrap-tool.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%2C%26nbsp%3Bargv%2C%26nbsp%3Bcd%2C%26nbsp%3Bchalk%2C%26nbsp%3Bfs%2C%26nbsp%3Bquestion%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnimport%26nbsp%3Bpath%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bpath%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8E%E6%88%91%E4%BB%AC%E4%B9%8B%E5%89%8D%E5%88%9B%E5%BB%BA%E7%9A%84%E8%84%9A%E6%9C%AC%E4%B8%80%E6%A0%B7%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bbootstrap-tool.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E7%94%A8%E7%BA%A2%E8%89%B2%E6%96%87%E6%9C%AC%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%EF%BC%8C%E5%B9%B6%E4%BB%A5%E9%94%99%E8%AF%AF%E9%80%80%E5%87%BA%E4%BB%A3%E7%A0%81%201%20%E9%80%80%E5%87%BA%20Node.js%20%E8%BF%9B%E7%A8%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Efunction%26nbsp%3BexitWithError(errorMessage)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconsole.error(chalk.red(errorMessage))%3B%5Cn%26nbsp%3B%26nbsp%3Bprocess.exit(1)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BD%93%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%A4%84%E7%90%86%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E9%80%9A%E8%BF%87%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%9C%A8%E5%90%84%E4%B8%AA%E5%9C%B0%E6%96%B9%E4%BD%BF%E7%94%A8%E8%BF%99%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%E4%B8%89%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%9Agit%E3%80%81node%20%E5%92%8C%20npx%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20which%20%E5%BA%93%E6%9D%A5%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E6%A3%80%E6%9F%A5%E8%BF%99%E4%BA%9B%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%E5%B9%B6%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20which%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bwhich%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%BC%95%E5%85%A5%E5%AE%83%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3Bwhich%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bwhich%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BD%BF%E7%94%A8%E5%AE%83%E7%9A%84%20checkRequiredProgramsExist%20%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckRequiredProgramsExist(programs)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3Bprogram%26nbsp%3Bof%26nbsp%3Bprograms)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bwhich(program)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BRequired%26nbsp%3Bcommand%26nbsp%3B%24%7Berror.message%7D%60)%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%90%8D%E7%A7%B0%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%95%B0%E7%BB%84%EF%BC%8C%E5%AF%B9%E6%AF%8F%E4%B8%AA%E7%A8%8B%E5%BA%8F%E8%B0%83%E7%94%A8%20which%20%E5%87%BD%E6%95%B0%E3%80%82%E5%A6%82%E6%9E%9C%20which%20%E6%89%BE%E5%88%B0%E4%BA%86%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%B7%AF%E5%BE%84%EF%BC%8C%E5%AE%83%E5%B0%86%E8%BF%94%E5%9B%9E%E8%AF%A5%E7%A8%8B%E5%BA%8F%E3%80%82%E5%90%A6%E5%88%99%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%AF%A5%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E6%8A%9B%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E3%80%82%E5%A6%82%E6%9E%9C%E6%9C%89%E4%BB%BB%E4%BD%95%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E8%B0%83%E7%94%A8%20exitWithError%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%E5%B9%B6%E5%81%9C%E6%AD%A2%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%8F%AF%E4%BB%A5%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%AF%B9%20checkRequiredProgramsExist%20%E7%9A%84%E8%B0%83%E7%94%A8%EF%BC%8C%E4%BB%A5%E6%A3%80%E6%9F%A5%E6%88%91%E4%BB%AC%E7%9A%84%E5%B7%A5%E5%85%B7%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%8F%AF%E7%94%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckRequiredProgramsExist(%5B%26%2334%3Bgit%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnode%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnpx%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%B7%BB%E5%8A%A0%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E9%80%89%E9%A1%B9%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%B0%86%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E5%90%AF%E5%8A%A8%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%88%91%E4%BB%AC%E5%B8%8C%E6%9C%9B%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9A%84%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E3%80%82%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E8%A6%81%E7%BB%99%E8%84%9A%E6%9C%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20--directory%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E5%86%85%E7%BD%AE%E4%BA%86%20minimist%20%E5%8C%85%EF%BC%8C%E5%AE%83%E8%83%BD%E5%A4%9F%E8%A7%A3%E6%9E%90%E4%BC%A0%E9%80%92%E7%BB%99%E8%84%9A%E6%9C%AC%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%E8%BF%99%E4%BA%9B%E8%A2%AB%E8%A7%A3%E6%9E%90%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E8%A2%AB%20zx%20%E5%8C%85%E4%BD%9C%E4%B8%BA%20argv%20%E6%8F%90%E4%BE%9B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E5%90%8D%E4%B8%BA%20directory%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E6%A3%80%E6%9F%A5%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Elet%26nbsp%3BtargetDirectory%26nbsp%3B%3D%26nbsp%3Bargv.directory%3B%5Cnif%26nbsp%3B(!targetDirectory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%26%2334%3BError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%26%2334%3B)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%20directory%20%E5%8F%82%E6%95%B0%E8%A2%AB%E4%BC%A0%E9%80%92%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%E5%AE%83%E6%98%AF%E5%90%A6%E6%98%AF%E5%B7%B2%E7%BB%8F%E5%AD%98%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%E7%9A%84%E8%B7%AF%E5%BE%84%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%8F%90%E4%BE%9B%E7%9A%84%20fs.pathExists%20%E6%96%B9%E6%B3%95%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3EtargetDirectory%26nbsp%3B%3D%26nbsp%3Bpath.resolve(targetDirectory)%3B%5Cnif%26nbsp%3B(!(await%26nbsp%3Bfs.pathExists(targetDirectory)))%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BTarget%26nbsp%3Bdirectory%26nbsp%3B%26%2339%3B%24%7BtargetDirectory%7D%26%2339%3B%26nbsp%3Bdoes%26nbsp%3Bnot%26nbsp%3Bexist%60)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E8%B7%AF%E5%BE%84%E5%AD%98%E5%9C%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%20cd%20%E5%87%BD%E6%95%B0%E6%9D%A5%E5%88%87%E6%8D%A2%E5%BD%93%E5%89%8D%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%9A%E2%80%8D%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ecd(targetDirectory)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%9C%A8%E6%B2%A1%E6%9C%89--directory%20%E5%8F%82%E6%95%B0%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E5%BA%94%E8%AF%A5%E4%BC%9A%E6%94%B6%E5%88%B0%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3B.%2Fbootstrap-tool.mjs%5CnError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E5%85%A8%E5%B1%80%20Git%20%E8%AE%BE%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%A8%8D%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%8C%E4%BD%86%E9%A6%96%E5%85%88%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%20Git%20%E6%98%AF%E5%90%A6%E6%9C%89%E5%AE%83%E9%9C%80%E8%A6%81%E7%9A%84%E9%85%8D%E7%BD%AE%E3%80%82%E6%88%91%E4%BB%AC%E8%A6%81%E7%A1%AE%E4%BF%9D%E6%8F%90%E4%BA%A4%E4%BC%9A%E8%A2%AB%20GitHub%20%E7%AD%89%E4%BB%A3%E7%A0%81%E6%89%98%E7%AE%A1%E6%9C%8D%E5%8A%A1%E6%AD%A3%E7%A1%AE%E5%BD%92%E7%B1%BB%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%81%9A%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E8%BF%99%E9%87%8C%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E7%B4%A2%20Git%20%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%E7%9A%84%E5%80%BC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetGlobalGitSettingValue(settingName)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B%26%2334%3B%26%2334%3B%3B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60git%26nbsp%3Bconfig%26nbsp%3B--global%26nbsp%3B--get%26nbsp%3B%24%7BsettingName%7D%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B).stdout.trim()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%2F%2F%26nbsp%3BIgnore%26nbsp%3Bprocess%26nbsp%3Boutput%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BsettingValue%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E5%85%B3%E9%97%AD%20zx%20%E9%BB%98%E8%AE%A4%E8%AE%BE%E7%BD%AE%E7%9A%84%20verbose%20%E6%A8%A1%E5%BC%8F%E3%80%82%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%EF%BC%8C%E5%BD%93%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%97%B6%EF%BC%8C%E8%AF%A5%E5%91%BD%E4%BB%A4%E5%92%8C%E5%AE%83%E5%8F%91%E9%80%81%E5%88%B0%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E7%9A%84%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9%E9%83%BD%E4%B8%8D%E4%BC%9A%E8%A2%AB%E6%98%BE%E7%A4%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%9C%A8%E5%87%BD%E6%95%B0%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E5%B0%86%20verbose%20%E6%A8%A1%E5%BC%8F%E9%87%8D%E6%96%B0%E6%89%93%E5%BC%80%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E5%BD%B1%E5%93%8D%E5%88%B0%E6%88%91%E4%BB%AC%E7%A8%8D%E5%90%8E%E5%9C%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%85%B6%E4%BB%96%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%20checkGlobalGitSettings%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A5%E5%87%BD%E6%95%B0%E6%8E%A5%E6%94%B6%20Git%20%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%E7%BB%84%E6%88%90%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%B0%86%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%AF%8F%E4%B8%AA%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E4%BC%A0%E9%80%92%E7%BB%99%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E4%BB%A5%E6%A3%80%E7%B4%A2%E5%85%B6%E5%80%BC%E3%80%82%E5%A6%82%E6%9E%9C%E8%AE%BE%E7%BD%AE%E6%B2%A1%E6%9C%89%E5%80%BC%EF%BC%8C%E5%B0%86%E6%98%BE%E7%A4%BA%E8%AD%A6%E5%91%8A%E4%BF%A1%E6%81%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckGlobalGitSettings(settingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3BsettingName%26nbsp%3Bof%26nbsp%3BsettingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetGlobalGitSettingValue(settingName)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!settingValue)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.warn(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.yellow(%60Warning%3A%26nbsp%3BGlobal%26nbsp%3Bgit%26nbsp%3Bsetting%26nbsp%3B%26%2339%3B%24%7BsettingName%7D%26%2339%3B%26nbsp%3Bis%26nbsp%3Bnot%26nbsp%3Bset.%60)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E7%BB%99%20checkGlobalGitSettings%20%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E8%B0%83%E7%94%A8%EF%BC%8C%E6%A3%80%E6%9F%A5%20user.name%20%E5%92%8C%20user.email%20%E7%9A%84%20Git%20%E8%AE%BE%E7%BD%AE%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E8%A2%AB%E8%AE%BE%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckGlobalGitSettings(%5B%26%2334%3Buser.name%26%2334%3B%2C%26nbsp%3B%26%2334%3Buser.email%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%88%9D%E5%A7%8B%E5%8C%96%20Git%20%E4%BB%93%E5%BA%93%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E6%B7%BB%E5%8A%A0%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Binit%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20package.json%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%AF%8F%E4%B8%AA%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%83%BD%E9%9C%80%E8%A6%81%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E8%BF%99%E6%98%AF%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E5%AE%9A%E4%B9%89%E5%85%83%E6%95%B0%E6%8D%AE%E7%9A%84%E5%9C%B0%E6%96%B9%EF%BC%8C%E6%8C%87%E5%AE%9A%E9%A1%B9%E7%9B%AE%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E5%8C%85%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%B7%BB%E5%8A%A0%E5%AE%9E%E7%94%A8%E7%9A%84%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%94%9F%E6%88%90%20package.json%20%E6%96%87%E4%BB%B6%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E5%87%A0%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%98%AF%20readPackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%AF%BB%E5%8F%96%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BreadPackageJson(directory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3Bfs.readJSON(packageJsonFilepath)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20writePackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E5%90%91%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E5%86%99%E5%85%A5%E6%9B%B4%E6%94%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BwritePackageJson(directory%2C%26nbsp%3Bcontents)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bfs.writeJSON(packageJsonFilepath%2C%26nbsp%3Bcontents%2C%26nbsp%3B%7B%26nbsp%3Bspaces%3A%26nbsp%3B2%26nbsp%3B%7D)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%20fs.readJSON%20%E5%92%8C%20fs.writeJSON%20%E6%96%B9%E6%B3%95%E6%98%AF%E7%94%B1%20fs-extra%20%E5%BA%93%E6%8F%90%E4%BE%9B%E7%9A%84%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E5%AE%9A%E4%B9%89%E4%BA%86%20package.json%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%BC%80%E5%A7%8B%E8%80%83%E8%99%91%20package.json%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E6%94%AF%E6%8C%81%E4%B8%A4%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ECommonJS%20Modules%20(CJS)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DKTweLvts6a1zOlUbn0cnCA%253D%253D.WRSoJ3t37Y2GYjanjStt81N%252BkCOGoR11gK8pv6Fck09uaKTSXHq5mvMcWutIRxYU%3C%2Fspan%3E%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%BF%E7%94%A8%20module.exports%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20require()%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EECMAScript%20Modules%20(ESM)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DOUbF%252BkjeOpAlt3Fo9PFGFw%253D%253D.Ex%252BQVnop7rVNKtYxrnp%252Fhcm08eFRE7K2XLUBlFFQ7D4%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%BD%BF%E7%94%A8%20export%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20import%20%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E7%94%9F%E6%80%81%E7%B3%BB%E7%BB%9F%E6%AD%A3%E5%9C%A8%E9%80%90%E6%AD%A5%E9%87%87%E7%94%A8%20ES%20%E6%A8%A1%E5%9D%97%EF%BC%8C%E8%BF%99%E5%9C%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%20JavaScript%20%E4%B8%AD%E6%98%AF%E5%BE%88%E5%B8%B8%E8%A7%81%E7%9A%84%E3%80%82%E5%BD%93%E4%BA%8B%E6%83%85%E5%A4%84%E4%BA%8E%E8%BF%87%E6%B8%A1%E9%98%B6%E6%AE%B5%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%86%B3%E5%AE%9A%E6%88%91%E4%BB%AC%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%BB%98%E8%AE%A4%E4%BD%BF%E7%94%A8%20CJS%20%E6%A8%A1%E5%9D%97%E8%BF%98%E6%98%AF%20ESM%20%E6%A8%A1%E5%9D%97%E3%80%82%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%BF%99%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForModuleSystem(moduleSystems)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Which%26nbsp%3BNode.js%26nbsp%3Bmodule%26nbsp%3Bsystem%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Buse%3F%26nbsp%3B(%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26nbsp%3Bor%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D)%26nbsp%3B%60%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchoices%3A%26nbsp%3BmoduleSystems%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BmoduleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E5%87%BD%E6%95%B0%E4%BD%BF%E7%94%A8%E7%9A%84%20question%20%E5%87%BD%E6%95%B0%E7%94%B1%20zx%20%E6%8F%90%E4%BE%9B%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getNodeModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E8%B0%83%E7%94%A8%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E6%A3%80%E6%9F%A5%E6%89%80%E8%BE%93%E5%85%A5%E7%9A%84%E5%80%BC%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%8D%E6%98%AF%EF%BC%8C%E5%AE%83%E5%B0%86%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetNodeModuleSystem()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystems%26nbsp%3B%3D%26nbsp%3B%5B%26%2334%3Bmodule%26%2334%3B%2C%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForModuleSystem(moduleSystems)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BisValidModuleSystem%26nbsp%3B%3D%26nbsp%3BmoduleSystems.includes(selectedModuleSystem)%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!isValidModuleSystem)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BModule%26nbsp%3Bsystem%26nbsp%3Bmust%26nbsp%3Bbe%26nbsp%3Beither%26nbsp%3B%26%2339%3B%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26%2339%3B%26nbsp%3Bor%26nbsp%3B%26%2339%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%26%2339%3B%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BselectedModuleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E8%BF%90%E8%A1%8C%20npm%20init%20%E5%91%BD%E4%BB%A4%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npm%26nbsp%3Binit%26nbsp%3B--yes%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E8%AF%BB%E5%8F%96%E6%96%B0%E5%88%9B%E5%BB%BA%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E8%AF%A2%E9%97%AE%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%B3%BB%E7%BB%9F%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA%20packageJson%20%E5%AF%B9%E8%B1%A1%E4%B8%AD%E7%9A%84%20type%20%E5%B1%9E%E6%80%A7%E5%80%BC%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%E5%85%B6%E5%86%99%E5%9B%9E%E5%88%B0%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackageJson%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5CnpackageJson.type%26nbsp%3B%3D%26nbsp%3BselectedModuleSystem%3B%5Cnawait%26nbsp%3BwritePackageJson(targetDirectory%2C%26nbsp%3BpackageJson)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%8F%90%E7%A4%BA%EF%BC%9A%E5%BD%93%E4%BD%A0%E7%94%A8--yes%20%E6%A0%87%E5%BF%97%E8%BF%90%E8%A1%8C%20npm%20init%20%E6%97%B6%EF%BC%8C%E8%A6%81%E6%83%B3%E5%9C%A8%20package.json%20%E4%B8%AD%E8%8E%B7%E5%BE%97%E5%90%88%E7%90%86%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%EF%BC%8C%E8%AF%B7%E7%A1%AE%E4%BF%9D%E4%BD%A0%E8%AE%BE%E7%BD%AE%E4%BA%86%20npminit-*%E7%9A%84%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DX0aVKO8sVtj0bgZhFmgjVw%253D%253D.hxYbJxX5X2odlcPpk5MdIVLkT7ESAsFMhFnFSRBftI2c2BjNTUCtV1gwdXnpxWGI%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E9%A1%B9%E7%9B%AE%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E4%BD%BF%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E5%90%8E%E8%83%BD%E5%A4%9F%E8%BD%BB%E6%9D%BE%E5%9C%B0%E5%BC%80%E5%A7%8B%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForPackages%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E5%93%AA%E4%BA%9B%20npm%20%E5%8C%85%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForPackages()%26nbsp%3B%7B%5Cnlet%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3BWhich%26nbsp%3Bnpm%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Binstall%26nbsp%3Bfor%26nbsp%3Bthis%26nbsp%3Bproject%3F%26nbsp%3B%26%2334%3B%5Cn)%3B%5CnpackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall%5Cn%26nbsp%3B%26nbsp%3B.trim()%5Cn%26nbsp%3B%26nbsp%3B.split(%26%2334%3B%26nbsp%3B%26%2334%3B)%5Cn%26nbsp%3B%26nbsp%3B.filter((pkg)%26nbsp%3B%3D%26gt%3B%26nbsp%3Bpkg)%3B%5Cnreturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E9%98%B2%E6%AD%A2%E6%88%91%E4%BB%AC%E5%9C%A8%E8%BE%93%E5%85%A5%E5%8C%85%E5%90%8D%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E5%88%AB%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20identifyInvalidNpmPackages%20%E5%87%BD%E6%95%B0%E3%80%82%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E5%B0%86%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%20npm%20%E5%8C%85%E5%90%8D%E6%95%B0%E7%BB%84%EF%BC%8C%E7%84%B6%E5%90%8E%E8%BF%90%E8%A1%8C%20npm%20view%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E6%9F%A5%E5%AE%83%E4%BB%AC%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BidentifyInvalidNpmPackages(packages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3B%5B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(const%26nbsp%3Bpkg%26nbsp%3Bof%26nbsp%3Bpackages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Bview%26nbsp%3B%24%7Bpkg%7D%60%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BinvalidPackages.push(pkg)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BinvalidPackages%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getPackagesToInstall%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E5%88%9A%E5%88%9A%E5%88%9B%E5%BB%BA%E7%9A%84%E4%B8%A4%E4%B8%AA%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetPackagesToInstall()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForPackages()%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BidentifyInvalidNpmPackages(packagesToInstall)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BallPackagesExist%26nbsp%3B%3D%26nbsp%3BinvalidPackages.length%26nbsp%3B%3D%3D%3D%26nbsp%3B0%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!allPackagesExist)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BThe%26nbsp%3Bfollowing%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Bnot%26nbsp%3Bexist%26nbsp%3Bon%26nbsp%3Bnpm%3A%26nbsp%3B%24%7BinvalidPackages.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%2C%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%9C%89%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%90%8D%E7%A7%B0%E4%B8%8D%E6%AD%A3%E7%A1%AE%EF%BC%8C%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E6%97%A6%E6%88%91%E4%BB%AC%E5%BE%97%E5%88%B0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E6%9C%89%E6%95%88%E5%8C%85%E5%88%97%E8%A1%A8%EF%BC%8C%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20npm%20install%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E5%AE%89%E8%A3%85%E5%AE%83%E4%BB%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cnconst%26nbsp%3BhavePackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall.length%26nbsp%3B%26gt%3B%26nbsp%3B0%3B%5Cnif%26nbsp%3B(havePackagesToInstall)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Binstall%26nbsp%3B%24%7BpackagesToInstall%7D%60%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E4%B8%BA%E5%B7%A5%E5%85%B7%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE%E6%98%AF%E6%88%91%E4%BB%AC%E7%94%A8%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E7%9A%84%E6%9C%80%E4%BD%B3%E4%BA%8B%E9%A1%B9%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA.gitignore%20%E6%96%87%E4%BB%B6%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E6%84%8F%E5%A4%96%E5%9C%B0%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E5%9C%A8%20Git%20%E4%BB%93%E5%BA%93%E4%B8%AD%E5%87%BA%E7%8E%B0%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bgitignore%26nbsp%3Bnode%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8%20gitignore%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DV%252FIoxipE2WxmNECDRNKMqg%253D%253D.7Y4d34n%252BoUVlJkYEiJt3NLa9RHn2pYtKq%252BHpO67HIQjfjKAHIxcMynZzTudktHaV%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E5%8C%85%EF%BC%8C%E4%BB%8E%20GitHub%20%E7%9A%84%20gitignore%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3E%20https%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DSzh56TKqT6gYmrJidM7ZXg%253D%253D.BK7Vf5F73GaplJKeN48OsobM6U4EPriatZOr3dBhsSVZIuIUiktyqfS1jhLLtQ7o%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E6%A8%A1%E6%9D%BF%E4%B8%AD%E6%8B%89%E5%8F%96%20Node.js%20%E7%9A%84.gitignore%20%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E7%9A%84%20EditorConfig%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DdGD5%252BEyCTqLfqDSif7%252FHgQ%253D%253D.xgNWBjR6m%252FIUFlG1UmM3CYX2R%252BLXFN531lZhlvCRRWs%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%81Prettier%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3Dn7clHFqLMZZala0zu1JjdQ%253D%253D.jivAg4cL8HkSAhuurMUHrlfhGGILOpveTQR0rjCRXyg%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%92%8C%20ESLint%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DJ4jXEAmmBQ83%252FWSrOtTsAQ%253D%253D.b%252FKC0kT%252FZWZQ9KBItXDMQHWJBzc5aW9hUZsxWHBsMY4%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E4%B8%80%E4%B8%AA%E5%8F%AB%E5%81%9A%20Mrm%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E7%9A%84%20mrm%20%E4%BE%9D%E8%B5%96%E9%A1%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--global%26nbsp%3Bmrm%26nbsp%3Bmrm-task-editorconfig%26nbsp%3Bmrm-task-prettier%26nbsp%3Bmrm-task-eslint%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%B7%BB%E5%8A%A0%20mrm%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beditorconfig%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Bprettier%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beslint%60%3B%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EMrm%20%E8%B4%9F%E8%B4%A3%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%E3%80%82%E5%AE%83%E8%BF%98%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E7%94%9F%E6%88%90%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BB%A5%E7%AC%A6%E5%90%88%E6%88%91%E4%BB%AC%E7%9A%84%E4%B8%AA%E4%BA%BA%E5%81%8F%E5%A5%BD%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20README%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E7%9A%84%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%E8%AF%BB%E5%8F%96%E9%A1%B9%E7%9B%AE%E5%90%8D%E7%A7%B0%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA%E5%9F%BA%E6%9C%AC%E7%9A%84%20Markdown%20%E6%A0%BC%E5%BC%8F%E7%9A%84%20README%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E5%86%99%E5%85%A5%20README.md%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3B%7B%26nbsp%3Bname%3A%26nbsp%3BprojectName%26nbsp%3B%7D%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BreadmeContents%26nbsp%3B%3D%26nbsp%3B%60%23%26nbsp%3B%24%7BprojectName%7D%5Cn...%5Cn%60%3B%5Cnawait%26nbsp%3Bfs.writeFile(%60%24%7BtargetDirectory%7D%2FREADME.md%60%2C%26nbsp%3BreadmeContents)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%9A%B4%E9%9C%B2%E7%9A%84%20fs.writeFile%20%E7%9A%84%20promise%20%E5%8F%98%E9%87%8F%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%8F%90%E4%BA%A4%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%80%E5%90%8E%EF%BC%8C%E6%98%AF%E6%97%B6%E5%80%99%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E7%94%A8%20git%20%E5%88%9B%E5%BB%BA%E7%9A%84%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%E4%BA%86%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Badd%26nbsp%3B.%60%3B%5Cnawait%26nbsp%3B%24%60git%26nbsp%3Bcommit%26nbsp%3B-m%26nbsp%3B%26%2334%3BAdd%26nbsp%3Bproject%26nbsp%3Bskeleton%26%2334%3B%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E6%9D%A1%E6%B6%88%E6%81%AF%EF%BC%8C%E7%A1%AE%E8%AE%A4%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B7%B2%E7%BB%8F%E6%88%90%E5%8A%9F%E5%90%AF%E5%8A%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econsole.log(%5Cn%26nbsp%3B%26nbsp%3Bchalk.green(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60%5C%5Cn%E2%9C%94%EF%B8%8F%26nbsp%3BThe%26nbsp%3Bproject%26nbsp%3B%24%7BprojectName%7D%26nbsp%3Bhas%26nbsp%3Bbeen%26nbsp%3Bsuccessfully%26nbsp%3Bbootstrapped!%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B)%5Cn)%3B%5Cnconsole.log(chalk.green(%60Add%26nbsp%3Ba%26nbsp%3Bgit%26nbsp%3Bremote%26nbsp%3Band%26nbsp%3Bpush%26nbsp%3Byour%26nbsp%3Bchanges.%60))%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%90%AF%E5%8A%A8%E6%96%B0%E9%A1%B9%E7%9B%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bnew-project%5Cn.%2Fbootstrap-tool.mjs%26nbsp%3B--directory%26nbsp%3Bnew-project%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%B9%B6%E8%A7%82%E7%9C%8B%E6%88%91%E4%BB%AC%E6%89%80%E5%81%9A%E7%9A%84%E4%B8%80%E5%88%87%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%80%BB%E7%BB%93%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E5%A6%82%E4%BD%95%E5%9C%A8%20Node.js%20%E4%B8%AD%E5%80%9F%E5%8A%A9%20Google%20%E7%9A%84%20zx%20%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E5%BC%BA%E5%A4%A7%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E4%BA%86%E5%AE%83%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%92%8C%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%81%B5%E6%B4%BB%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%B0%E7%9B%AE%E5%89%8D%E4%B8%BA%E6%AD%A2%EF%BC%8C%E6%88%91%E4%BB%AC%E6%89%80%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%8F%AA%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BC%80%E5%A7%8B%E3%80%82%E8%BF%99%E9%87%8C%E6%9C%89%E4%B8%80%E4%BA%9B%E5%8A%9F%E8%83%BD%E7%82%B9%E5%AD%90%EF%BC%8C%E4%BD%A0%E5%8F%AF%E8%83%BD%E6%83%B3%E5%B0%9D%E8%AF%95%E8%87%AA%E5%B7%B1%E6%B7%BB%E5%8A%A0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E3%80%82%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E8%BF%98%E4%B8%8D%E5%AD%98%E5%9C%A8%EF%BC%8C%E5%88%99%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E5%B9%B6%E8%AF%A2%E9%97%AE%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E6%83%B3%E8%A6%81%E4%B8%BA%E4%BB%96%E4%BB%AC%E5%88%9B%E5%BB%BA%E8%AF%A5%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BC%80%E6%BA%90%E5%8D%AB%E7%94%9F%E3%80%82%E9%97%AE%E9%97%AE%E7%94%A8%E6%88%B7%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E5%9C%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B0%86%E6%98%AF%E5%BC%80%E6%BA%90%E7%9A%84%E9%A1%B9%E7%9B%AE%E3%80%82%E5%A6%82%E6%9E%9C%E6%98%AF%E7%9A%84%E8%AF%9D%EF%BC%8C%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E8%AE%B8%E5%8F%AF%E8%AF%81%E5%92%8C%E8%B4%A1%E7%8C%AE%E8%80%85%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%20GitHub%20%E4%B8%8A%E7%9A%84%E4%BB%93%E5%BA%93%E3%80%82%E6%B7%BB%E5%8A%A0%E4%BD%BF%E7%94%A8%20GitHub%20CLI%20%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%9C%A8%20GitHub%20%E4%B8%8A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E3%80%82%E4%B8%80%E6%97%A6%E7%94%A8%20Git%20%E6%8F%90%E4%BA%A4%E4%BA%86%E5%88%9D%E5%A7%8B%E9%AA%A8%E6%9E%B6%EF%BC%8C%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E6%8E%A8%E9%80%81%E5%88%B0%E8%BF%99%E4%B8%AA%E4%BB%93%E5%BA%93%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E5%9C%A8%20GitHub%20%E4%B8%8A%E6%89%BE%E5%88%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E8%AF%91%E8%87%AA%EF%BC%9A%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5Z%252ByLQNgua%252FY5gnguxXllg%253D%253D.SeNINYETng%252BH6uZupDjhsYNRqM5GWB5jXVDlvMdMqsO9u3CmWfwe8DwT48iAvK%252Fsm8pflQ8jbxHc1sB281%252B6pA%253D%253D%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%9C%E8%80%85%EF%BC%9A%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3ESimon%20Plenderleith%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BB%A5%E4%B8%8A%E5%B0%B1%E6%98%AF%E6%9C%AC%E6%96%87%E7%9A%84%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9%E3%80%82%E5%A6%82%E6%9E%9C%E5%AF%B9%E4%BD%A0%E6%9C%89%E6%89%80%E5%B8%AE%E5%8A%A9%EF%BC%8C%E6%AC%A2%E8%BF%8E%E7%82%B9%E8%B5%9E%E3%80%81%E6%94%B6%E8%97%8F%E3%80%81%E8%BD%AC%E5%8F%91~%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Chr%3E%22%2C%22imageList%22%3A%5B%5D%2C%22mediaInfo%22%3A%7B%22userId%22%3A%22MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH%22%2C%22unsafeUserId%22%3A%224288553596503552%22%2C%22name%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22avatarUrl%22%3A%22https%3A%2F%2Fsf3-cdn-tos.toutiaostatic.com%2Fimg%2Fuser-avatar%2Fc14bb151d3505084033c82ee8238acde~300x300.image%22%2C%22description%22%3A%22%E6%AC%A2%E8%BF%8E%E5%85%B3%E6%B3%A8VX%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22userVerified%22%3A1%7D%2C%22seoTDK%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC-%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1%22%2C%22description%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22keywords%22%3A%22%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%2CNode.js%2CGoogle%2CJavaScript%2CBash%2CTypeScript%2CZsh%2CGitHub%2C%E7%BE%8E%E5%A5%BD%EF%BC%8C%E4%B8%80%E7%9B%B4%E5%9C%A8%E8%BA%AB%E8%BE%B9%22%2C%22publishTimestamp%22%3A%221678237205%22%2C%22modifiedTimestamp%22%3A%221685548306%22%7D%2C%22cover%22%3A%22https%3A%2F%2Fp3-sign.toutiaoimg.com%2Flarge%2Ftos-cn-i-qvj2lq49k0%2F7894dd4439eb4e78ad35208f496e841a%3F_iz%3D58558%26from%3Darticle.pc_detail%26x-expires%3D1690103402%26x-signature%3D5z%252FNWR2V4o%252B5W0fhczXkGuaSyYE%253D%22%2C%22logId%22%3A%222023071617100290B65219A60FE2C10ABA%22%2C%22sylpageConfig%22%3A%7B%22card%22%3A%7B%22id%22%3A%22%22%7D%7D%2C%22identity%22%3A%7B%22web_id%22%3A%227235169635611018810%22%2C%22user_is_login%22%3Afalse%7D%2C%22abtestInfo%22%3A%7B%22rsp_type%22%3A5%2C%22version_name%22%3A%224938400%22%2C%22parameters%22%3A%7B%22filter%22%3A%7B%22debug_enable_pc_small_video%22%3Afalse%2C%22enable_pc_small_video%22%3Atrue%7D%2C%22home_nav_conf%22%3A%7B%22dcd_out%22%3A1%7D%2C%22optimus%22%3A%7B%22rule_rank_rules%22%3A%22ranking_rule_list%20%7B%5Cn%20%20id%3A%201221233%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2212123%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%202%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%2020458%5Cn%20%20priority%3A%203%5Cn%20%20enabled%3A%20true%5Cn%20%20category%3A%2020458%5Cn%20%20type%3A%20WINDOW%5Cn%20%20window_rule%20%7B%5Cn%20%20%20%20type%3A%20SLIDE%5Cn%20%20%20%20size%3A%203%5Cn%20%20%20%20max%3A%201%5Cn%20%20%7D%5Cn%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%201111024%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2211024%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%206%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%22%7D%2C%22page_upgrade%22%3A%7B%22new_profile%22%3Atrue%2C%22video_double_column%22%3Atrue%7D%2C%22recall%22%3A%7B%22debug_filter_reason_list%22%3A%5B%5D%2C%22debug_recall_reason_list%22%3A%5B70%2C71%2C72%2C73%2C80%2C83%5D%2C%22enable_debug_filter_reason%22%3Atrue%2C%22enable_debug_recall_reason%22%3Atrue%2C%22friend_feed%22%3A%7B%22control_nums%22%3A1500%2C%22count%22%3A1000%2C%22enable%22%3Atrue%2C%22enable_cpp_friend_feed%22%3Atrue%2C%22enable_friend_feed_container_filter%22%3Atrue%2C%22enable_group_status_filter%22%3Atrue%2C%22params%22%3A%7B%7D%2C%22top_k%22%3A10%2C%22use_new_friend_recall%22%3Atrue%2C%22valid_group_source%22%3A%5B2%2C5%2C15%2C23%2C16%2C19%2C21%2C132%5D%2C%22weight%22%3A20%7D%7D%2C%22seraph%22%3A%7B%22rule_rank_rules_pc_small%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20%20%20%20%20%20id%3A%2022124%20%5Cn%20%20%20%20%20%20%20%20%20priority%3A%200%20%5Cn%20%20%20%20%20%20%20%20%20tags%3A%20%5C%2222124%5C%22%20%5Cn%20%20%20%20%20%20%20%20%20enabled%3A%20true%20%5Cn%20%20%20%20%20%20%20%20%20type%3A%20CARD%20%5Cn%20%20%20%20%20%20%20%20%20card_rule%20%7B%20%5Cn%20%20%20%20%20%20%20%20%20size%3A%206%20%5Cn%20%20%20%20%20%20%20%20%20num_cards%3A%201%5Cn%20%20%20%20%20%20%20%20%20type%3A%20SAME_SLOT%20%5Cn%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%22%2C%22rule_rank_rules_pc_small_window%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20id%3A%20222124%5Cn%20%20%20priority%3A%200%5Cn%20%20%20tags%3A%20%5C%2222124%5C%22%5Cn%20%20%20%20enabled%3A%20false%5Cn%20%20%20%20type%3A%20WINDOW%5Cn%20%20%20%20window_rule%20%7B%5Cn%20%20%20type%3A%20SLIDE%20%5Cn%20%20%20size%3A%2012%20%5Cn%20%20%20max%3A%206%20%5Cn%20%20%20%7D%5Cn%20%20%20%7D%22%7D%2C%22small_sort%22%3A%7B%22enable_filter_zhanwai%22%3Atrue%2C%22filter_genre_plog%22%3Afalse%2C%22filter_genre_small%22%3Afalse%2C%22skip_small_app_version_filter%22%3Afalse%2C%22skip_small_genre_filter%22%3Afalse%7D%2C%22sort%22%3A%7B%22allowed_ticai%22%3A%5B%22forum_post%22%2C%22pgc_text%22%2C%22pgc_video%22%2C%22short_video%22%5D%2C%22enable_optimus_gen_pc_mv_card%22%3Atrue%2C%22enable_optimus_gen_pc_sv_card%22%3Atrue%2C%22enable_pc_skip_app_smallvideo_card%22%3Atrue%7D%2C%22ugc_sort%22%3A%7B%22expore_smallvideo%22%3Atrue%7D%2C%22video_channel%22%3A%7B%22use_feed%22%3A1%2C%22rank%22%3A5%7D%7D%2C%22env_flag%22%3A0%7D%2C%22localCityInfo%22%3A%7B%22name%22%3A%22%E8%A5%84%E9%98%B3%22%2C%22code%22%3A%22420600%22%2C%22channelId%22%3A3202181326%7D%2C%22voteLink%22%3A%5B%7B%22keyword%22%3A%22%E6%9C%AB%E4%B8%96%E9%87%8D%E7%94%9F%EF%BC%8C%E6%88%91%E6%8A%A2%E4%BA%86%E5%A5%B3%E4%B8%BB%E7%9A%84%E9%87%91%E6%89%8B%E6%8C%87%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7045105728742231079%22%7D%2C%7B%22keyword%22%3A%22%E4%BA%BA%E5%9C%A8%E6%B5%B7%E8%B4%BC%3A%E6%88%91%E6%88%90%E4%B8%BA%E4%BA%86%E6%B5%B7%E5%86%9B%E5%A5%B3%E7%8E%8B%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7070145477789879300%22%7D%2C%7B%22keyword%22%3A%22%E6%B2%A1%E7%9E%8E%E7%9C%BC%E4%B8%89%E5%B9%B4%EF%BC%8C%E4%BD%86%E6%88%91%E7%9A%84%E5%AD%A6%E7%94%9F%E4%B8%8D%E6%98%AF%E4%BA%BA%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7118385133568134175%22%7D%2C%7B%22keyword%22%3A%22%E7%9C%9F%E5%8D%83%E9%87%91%E4%BB%8E%E4%BF%AE%E7%9C%9F%E7%95%8C%E5%9B%9E%E6%9D%A5%E4%BA%86%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F6983183491827502094%22%7D%2C%7B%22keyword%22%3A%22%E5%BC%82%E4%B8%96%E7%9B%B8%E9%81%87%E5%B0%BD%E4%BA%AB%E7%A4%BE%E6%AD%BB%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F583844%22%7D%2C%7B%22keyword%22%3A%22python%20ols%E5%9B%9E%E5%BD%92%E5%88%86%E6%9E%90%E7%BB%93%E6%9E%9C%E6%80%8E%E4%B9%88%E7%9C%8B%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131680%22%7D%2C%7B%22keyword%22%3A%22%E7%A5%9E%E5%A5%87%E5%AE%9D%E8%B4%9D%E4%B9%8B%E5%85%A8%E8%83%BD%E6%8E%8C%E9%97%A8%E4%BA%BA%E8%87%B4%E5%85%89%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F738595%22%7D%2C%7B%22keyword%22%3A%22%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3java8%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131722%22%7D%2C%7B%22keyword%22%3A%22linux%20mysql%20%E6%97%A5%E5%BF%97%E6%B8%85%E7%90%86%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1182964%22%7D%2C%7B%22keyword%22%3A%22%E6%88%91%E5%9C%A8%E5%AE%9D%E5%8F%AF%E6%A2%A6%E4%B8%96%E7%95%8C%E6%88%90%E4%B8%BA%E7%AC%AC%E4%B8%80%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F188604%22%7D%5D%2C%22grSensitive%22%3Afalse%2C%22showResearch%22%3Afalse%2C%22blockVisibility%22%3A%7B%22hotBoard%22%3Atrue%2C%22hotVideo%22%3Atrue%2C%22relatedRecommend%22%3Atrue%7D%2C%22isGreyTheme%22%3Afalse%2C%22searchBot%22%3Anull%7D%7D
npxgitignorenode`;
上面的命令使用 gitignore https://link.segmentfault.com/?enc=V%2FIoxipE2WxmNECDRNKMqg%3D%3D.7Y4d34n%2BoUVlJkYEiJt3NLa9RHn2pYtKq%2BHpO67HIQjfjKAHIxcMynZzTudktHaV 包,从 GitHub 的 gitignore https://link.segmentfault.com/?enc=Szh56TKqT6gYmrJidM7ZXg%3D%3D.BK7Vf5F73GaplJKeN48OsobM6U4EPriatZOr3dBhsSVZIuIUiktyqfS1jhLLtQ7o 模板中拉取 Node.js 的.gitignore 文件。
为了生成我们的 EditorConfig https://link.segmentfault.com/?enc=dGD5%2BEyCTqLfqDSif7%2FHgQ%3D%3D.xgNWBjR6m%2FIUFlG1UmM3CYX2R%2BLXFN531lZhlvCRRWs%3D 、Prettier https://link.segmentfault.com/?enc=n7clHFqLMZZala0zu1JjdQ%3D%3D.jivAg4cL8HkSAhuurMUHrlfhGGILOpveTQR0rjCRXyg%3D 和 ESLint https://link.segmentfault.com/?enc=J4jXEAmmBQ83%2FWSrOtTsAQ%3D%3D.b%2FKC0kT%2FZWZQ9KBItXDMQHWJBzc5aW9hUZsxWHBsMY4%3D 配置文件,我们将使用一个叫做 Mrm 的命令行工具。
全局安装我们需要的 mrm 依赖项:
npminstall--globalmrmmrm-task-editorconfigmrm-task-prettiermrm-task-eslint
然后添加 mrm 命令行生成配置文件:
await
社区精选|如何使用 zx 编写 shell 脚本-*今条头日**
{"@context":"https://schema.org","@type":"NewsArticle","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.toutiao.com/article/7207743318715793920/"},"headline":"社区精选|如何使用 zx 编写 shell 脚本","description":"在这篇文章中,我们将学习谷歌的 zx 库提供了什么,以及我们如何使用它来用 Node.js 编写 shell 脚本。","image":[],"datePublished":"2023-03-08T01:00:05.000Z","dateModified":"2023-05-31T15:51:46.000Z","author":{"@type":"Person","name":"计算科学与信息化","url":"https://www.toutiao.com/c/user/token/MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH/"},"publisher":{"@type":"Organization","name":"*今条头日**","logo":{"@type":"ImageObject","url":"https://lf3-static.bytednsdoc.com/obj/eden-cn/uhbfnupkbps/216.png"}}}
!function(r,e,t,n,s,a,o,i,c,l,d,p,m,f){a="precollect",o="getAttribute",i="addEventListener",(l=function(e){(d=[].slice.call(arguments)).push(Date.now(),location.href),(e==a?l.p.a:l.q).push(d)}).q=[],l.p={a:[]},r[s]=l,(p=document.createElement("script")).src=t+"?bid=toutiao_web_pc&globalName="+s,p.crossOrigin=0
window.Slardar&&window.Slardar("init",{bid:"toutiao_web_pc",pid:"news_article_detail",release:"1.0.0.1822",env:"online",sample:{sample_rate:1},plugins:{ajax:{ignoreUrls:["mcs.snssdk.com","mcs.zijieapi.com","i.snssdk.com","verify.snssdk.com","vcs.snssdk.com","mon.zijieapi.com","mon.snssdk.com"]},pageview:{routeMode:"manual"},blankScreen:{rootSelector:"#root"}}})
!function(n,t){if(n.LogAnalyticsObject=t,!n[t]){function c(){c.q.push(arguments)}c.q=c.q||[],n[t]=c}n[t].l=+new Date}(window,"collectEvent")
window.collectEvent("usePlugin","autotrack"),window.collectEvent("usePlugin","stay"),window.collectEvent("init",{app_id:24,channel:"cn",autotrack:{custom:"tea",text:!0},enable_stay_duration:!0}),window.collectEvent("config",{evtParams:{url:window.location.href,screen_width:window.screen.width,screen_height:window.screen.height,screen_inner_width:window.innerWidth,screen_inner_height:window.innerHeight}})
window.byted_acrawler&&window.byted_acrawler.init({aid:24,dfp:!0})
window.TTGCaptcha&&window.TTGCaptcha.init({commonOptions:{aid:24,iid:"0",did:"0"}})
window.secsdk&&window.secsdk.csrf.setProtectedHost({"www.toutiao.com":{GET:[],POST:[/^\/api\/pc\/user\/fans_digg/,/^\/api\/pc\/user\/delete/,/^\/api\/pc\/user\/follow/,/^\/c\/ugc\/content\/repost/,/^\/group\/repin/,/^\/group\/unrepin/,/^\/api\/pc\/user\/stick/,/^\/api\/pc\/user\/unstick/,/^\/c\/user\/unfollow/,/^\/wenda\/v5\/interact\/followanswer/,/^\/wenda\/v5\/interact\/followquestion/,/^\/wenda\/v5\/interact\/digganswer/,/^\/wenda\/v5\/interact\/deleteanswer/,/^\/user_data\/batch_action/],PUT:[],PATCH:[],DELETE:[]}})
"undefined"!=typeof window&&"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("/sw.js").catch(function(e){window.Slardar&&window.Slardar("emit","counter",{name:"sw-register-error",value:1})})})
function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-QEHZPBE5HH")
%7B%22data%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%22%2C%22abstract%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22articleType%22%3A%22article%22%2C%22itemId%22%3A%227207743318715793920%22%2C%22groupId%22%3A%227207743318715793920%22%2C%22groupSource%22%3A2%2C%22isOriginal%22%3Afalse%2C%22banComment%22%3Afalse%2C%22publishTime%22%3A%222023-03-08%2009%3A00%22%2C%22source%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22tag%22%3A%22technique%22%2C%22mediaSite%22%3Anull%2C%22pathname%22%3A%22%2Farticle%2F7207743318715793920%2F%22%2C%22useCandle%22%3Afalse%2C%22isExclusive%22%3Afalse%2C%22favorite%22%3Afalse%2C%22relation%22%3A%7B%22isFollowing%22%3Afalse%2C%22isFollowed%22%3Afalse%7D%2C%22likeData%22%3A%7B%22userLikeStatus%22%3A0%2C%22count%22%3A1%7D%2C%22isSelf%22%3Afalse%2C%22content%22%3A%22%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%89%8D%E8%A8%80%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E6%9D%A5%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E5%BC%95%E5%AF%BC%E9%85%8D%E7%BD%AE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E7%BC%96%E5%86%99%20Shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E9%97%AE%E9%A2%98%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%94%B1%20Bash%20%E6%88%96%E8%80%85%20zsh%20%E6%89%A7%E8%A1%8C%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%98%AF%E8%87%AA%E5%8A%A8%E5%8C%96%E9%87%8D%E5%A4%8D%E4%BB%BB%E5%8A%A1%E7%9A%84%E5%A5%BD%E6%96%B9%E6%B3%95%E3%80%82Node.js%20%E4%BC%BC%E4%B9%8E%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E7%90%86%E6%83%B3%E9%80%89%E6%8B%A9%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E8%AE%B8%E5%A4%9A%E6%A0%B8%E5%BF%83%E6%A8%A1%E5%9D%97%EF%BC%8C%E5%B9%B6%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E5%AF%BC%E5%85%A5%E4%BB%BB%E4%BD%95%E6%88%91%E4%BB%AC%E9%80%89%E6%8B%A9%E7%9A%84%E5%BA%93%E3%80%82%E5%AE%83%E8%BF%98%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%AE%BF%E9%97%AE%20JavaScript%20%E6%8F%90%E4%BE%9B%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E5%92%8C%E5%86%85%E7%BD%AE%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E4%BD%A0%E5%B0%9D%E8%AF%95%E7%BC%96%E5%86%99%E8%BF%90%E8%A1%8C%E5%9C%A8%20Node.js%20%E4%B8%AD%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E4%BD%A0%E4%BC%9A%E5%8F%91%E7%8E%B0%E8%BF%99%E6%B2%A1%E6%9C%89%E4%BD%A0%E6%83%B3%E8%B1%A1%E4%B8%AD%E7%9A%84%E9%82%A3%E4%B9%88%E9%A1%BA%E5%88%A9%E3%80%82%E4%BD%A0%E9%9C%80%E8%A6%81%E4%B8%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%BC%96%E5%86%99%E7%89%B9%E6%AE%8A%E7%9A%84%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%EF%BC%8C%E6%B3%A8%E6%84%8F%E8%BD%AC%E4%B9%89%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%EF%BC%8C%E7%84%B6%E5%90%8E%E6%9C%80%E7%BB%88%E4%B8%8E%20stdout%EF%BC%88%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%89%E5%92%8C%20stderr%EF%BC%88%E6%A0%87%E5%87%86%E9%94%99%E8%AF%AF%EF%BC%89%E6%89%93%E4%BA%A4%E9%81%93%E3%80%82%E8%BF%99%E4%B8%8D%E6%98%AF%E7%89%B9%E5%88%AB%E7%9B%B4%E8%A7%82%EF%BC%8C%E8%80%8C%E4%B8%94%E4%BC%9A%E4%BD%BF%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E7%9B%B8%E5%BD%93%E7%AC%A8%E6%8B%99%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EBash%20shell%20%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E6%99%AE%E9%81%8D%E9%80%89%E6%8B%A9%E3%80%82%E4%B8%8D%E9%9C%80%E8%A6%81%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%E6%9D%A5%E5%A4%84%E7%90%86%E5%AD%90%E8%BF%9B%E7%A8%8B%EF%BC%8C%E8%80%8C%E4%B8%94%E5%AE%83%E6%9C%89%E5%86%85%E7%BD%AE%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E6%9D%A5%E5%A4%84%E7%90%86%20stdout%20%E5%92%8C%20stderr%E3%80%82%E4%BD%86%E6%98%AF%E7%94%A8%20Bash%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E4%B9%9F%E4%B8%8D%E6%98%AF%E9%82%A3%E4%B9%88%E5%AE%B9%E6%98%93%E3%80%82%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9B%B8%E5%BD%93%E6%B7%B7%E4%B9%B1%EF%BC%8C%E4%BD%BF%E5%BE%97%E5%AE%83%E5%AE%9E%E7%8E%B0%E9%80%BB%E8%BE%91%EF%BC%8C%E6%88%96%E8%80%85%E5%A4%84%E7%90%86%E8%AF%B8%E5%A6%82%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E7%9A%84%E4%BA%8B%E6%83%85%E9%9D%9E%E5%B8%B8%E5%9B%B0%E9%9A%BE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%9C%89%E5%8A%A9%E4%BA%8E%E8%AE%A9%E4%BD%BF%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E9%AB%98%E6%95%88%E5%92%8C%E8%88%92%E9%80%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BE%80%E4%B8%8B%E9%98%85%E8%AF%BB%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%E9%9C%80%E8%A6%81%E9%81%B5%E5%BE%AA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%90%86%E6%83%B3%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E4%BD%A0%E5%BA%94%E8%AF%A5%E7%86%9F%E6%82%89%20JavaScript%20%E5%92%8C%20Node.js%20%E7%9A%84%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E9%80%82%E5%BA%94%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20Node.js%20%26gt%3B%3D%20v14.13.1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cbr%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E4%BB%8E%20GitHub%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DysCUhsc%252BhqUmtqCo55t8jw%253D%253D.aWhjUaPje6eTlkcFFdhW%252FeIVYyAz5G%252FoPbGuXjsxlpcJphMKguwz3NoHWQ9o2vDb47Nfnm9kpIP6Ol5r6Euc8A%253D%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E8%8E%B7%E5%BE%97%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E8%BF%90%E4%BD%9C%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EGoogle%20%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%88%9B%E5%BB%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%A4%84%E7%90%86%E8%BF%99%E4%BA%9B%E8%BF%9B%E7%A8%8B%E7%9A%84%20stdout%20%E5%92%8C%20stderr%20%E7%9A%84%E5%87%BD%E6%95%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E7%9A%84%E4%B8%BB%E8%A6%81%E5%87%BD%E6%95%B0%E6%98%AF%24%E5%87%BD%E6%95%B0%E3%80%82%E4%B8%8B%E9%9D%A2%E6%98%AF%E5%AE%83%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AE%9E%E9%99%85%E4%BE%8B%E5%AD%90%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnawait%26nbsp%3B%24%60ls%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E6%89%A7%E8%A1%8C%E4%B8%8A%E8%BF%B0%E4%BB%A3%E7%A0%81%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnbootstrap-tool%5Cnhello-world%5Cnnode_modules%5Cnpackage.json%5CnREADME.md%5Cntypescript%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%E7%9A%84%20JavaScript%20%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9C%8B%E8%B5%B7%E6%9D%A5%E6%9C%89%E7%82%B9%E5%8F%A4%E6%80%AA%E3%80%82%E5%AE%83%E4%BD%BF%E7%94%A8%E4%BA%86%E4%B8%80%E7%A7%8D%E5%8F%AB%E5%81%9A%E5%B8%A6%E6%A0%87%E7%AD%BE%E7%9A%84%E6%A8%A1%E6%9D%BF%E5%AD%97%E7%AC%A6%E4%B8%B2%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DVUkodq5er%252Fynbhfl3MUQZA%253D%253D.%252Flx6oaDCVK4XuYyYLqvDi2QMWjCwW1jKBvNQgfaGG0AVwpl7I2CYD4sJYHuonDSA6jj1qSSypc0aGVO%252BYuBMUiibG6pBkVwusg%252Bai1hbMXetqlwMTWVUEAbtabMCbXIs%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E3%80%82%E5%AE%83%E5%9C%A8%E5%8A%9F%E8%83%BD%E4%B8%8A%E4%B8%8E%E7%BC%96%E5%86%99%20await%20%24(%26%2334%3Bls%26%2334%3B)%E7%9B%B8%E5%90%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%85%B6%E4%BB%96%E5%87%A0%E4%B8%AA%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%EF%BC%8C%E4%BD%BF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E6%9B%B4%E5%AE%B9%E6%98%93%E3%80%82%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ecd()%E3%80%82%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E6%9B%B4%E6%94%B9%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Equestion()%E3%80%82%E8%BF%99%E6%98%AF%20Node.js%20readline%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%8C%85%E8%A3%85%E5%99%A8%E3%80%82%E5%AE%83%E4%BD%BF%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E5%8F%98%E5%BE%97%E7%AE%80%E5%8D%95%E6%98%8E%E4%BA%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%99%A4%E4%BA%86%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%A4%96%EF%BC%8C%E5%AE%83%E8%BF%98%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E5%87%A0%E4%B8%AA%E6%B5%81%E8%A1%8C%E7%9A%84%E5%BA%93%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Echalk%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D%252FL15Y8OQNrp05Scx6N4iaQ%253D%253D.r8AZkfcE1Ye%252BlNUznFA9RNJMhfyM0lttTiD0TmqjJQwoi7zjQjs5YiLjI%252FWDEooY%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%99%E4%B8%AA%E5%BA%93%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E4%B8%BA%E8%84%9A%E6%9C%AC%E7%9A%84%E8%BE%93%E5%87%BA%E6%B7%BB%E5%8A%A0%E9%A2%9C%E8%89%B2%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Eminimist%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5tMQ5d6qJ4STEHZeuiN0MA%253D%253D.x9GPOpXVZp5TGKknZCkwA10QP%252Ftw%252BW7fwnpYGg%252BnlJPJLK3RboT3jqy5WuPLFwPZ%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E4%B8%AA%E8%A7%A3%E6%9E%90%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E7%9A%84%E5%BA%93%E3%80%82%E7%84%B6%E5%90%8E%E5%AE%83%E4%BB%AC%E5%9C%A8%20argv%20%E5%AF%B9%E8%B1%A1%E4%B8%8B%E8%A2%AB%E6%9A%B4%E9%9C%B2%E5%87%BA%E6%9D%A5%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efetch%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D71LC44tCu%252FZoLOY2B7MfuA%253D%253D.GO%252FMi37T0KTmj8UXau9xdFUBiIk1I%252F8M%252FHk2hZYrhRb%252Fd3Vl0bzlr05hanNxzuVb%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EFetch%20API%20%E7%9A%84%20Node.js%20%E5%AE%9E%E7%8E%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E8%BF%9B%E8%A1%8C%20HTTP%20%E8%AF%B7%E6%B1%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efs-extra%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DcPZzXniTRFJdbq87FdwLWw%253D%253D.IsmhSUEjIcZAqw8FDidbUnNhhIVPT1gsFSo%252BchiXCAs9AaxUVT%252FEgbIvswUDVmK2%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%B8%80%E4%B8%AA%E6%9A%B4%E9%9C%B2%20Node.js%20%E6%A0%B8%E5%BF%83%20fs%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%BA%93%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B9%E6%B3%95%EF%BC%8C%E4%BD%BF%E5%85%B6%E6%9B%B4%E5%AE%B9%E6%98%93%E4%B8%8E%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%80%E8%B5%B7%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9F%A5%E9%81%93%E4%BA%86%20zx%20%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E4%BB%80%E4%B9%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E7%94%A8%E5%AE%83%E5%88%9B%E5%BB%BA%E7%AC%AC%E4%B8%80%E4%B8%AA%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bzx-shell-scripts%5Cncd%26nbsp%3Bzx-shell-scripts%5Cnnpm%26nbsp%3Binit%26nbsp%3B--yes%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%AE%89%E8%A3%85%20zx%20%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bzx%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E7%9A%84%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E7%94%A8%20npm%20%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E8%AF%A5%E5%BA%93%E3%80%82%E9%80%9A%E8%BF%87%E5%B0%86%E5%85%B6%E5%AE%89%E8%A3%85%E4%B8%BA%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%A1%AE%E4%BF%9D%20zx%20%E6%80%BB%E6%98%AF%E8%A2%AB%E5%AE%89%E8%A3%85%EF%BC%8C%E5%B9%B6%E6%8E%A7%E5%88%B6%20shell%20%E8%84%9A%E6%9C%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E7%89%88%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A1%B6%E7%BA%A7%20await%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%20Node.js%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E9%A1%B6%E7%BA%A7%20await%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%20await%20%E4%BD%8D%E4%BA%8E%20async%20%E5%87%BD%E6%95%B0%E7%9A%84%E5%A4%96%E9%83%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%9C%A8%20ES%20%E6%A8%A1%E5%9D%97%E7%9A%84%E6%A8%A1%E5%BC%8F%E4%B8%8B%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%EF%BC%8C%E8%AF%A5%E6%A8%A1%E5%BC%8F%E6%94%AF%E6%8C%81%E9%A1%B6%E7%BA%A7%20await%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%20package.json%20%E4%B8%AD%E6%B7%BB%E5%8A%A0%20%26%2334%3Btype%26%2334%3B%3A%20%26%2334%3Bmodule%26%2334%3B%20%E6%80%8E%E4%B9%88%E6%80%8E%E4%B9%88%E6%9D%A5%E8%A1%A8%E6%98%8E%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%A8%A1%E5%9D%97%E9%83%BD%E6%98%AF%20ES%20%E6%A8%A1%E5%9D%97%E3%80%82%E6%88%96%E8%80%85%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%B0%86%E5%8D%95%E4%B8%AA%E8%84%9A%E6%9C%AC%E7%9A%84%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E8%AE%BE%E7%BD%AE%E4%B8%BA%20.mjs%20%E3%80%82%E5%9C%A8%E6%9C%AC%E6%96%87%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20.mjs%20%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E5%B9%B6%E6%8D%95%E8%8E%B7%E8%BE%93%E5%87%BA%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B0%86%E5%85%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world.mjs%20%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%AE%83%E5%91%8A%E8%AF%89%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%88OS%EF%BC%89%E7%9A%84%E5%86%85%E6%A0%B8%E8%A6%81%E7%94%A8%20node%20%E7%A8%8B%E5%BA%8F%E8%BF%90%E8%A1%8C%E8%AF%A5%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%BA%9B%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%BD%BF%E7%94%A8%20zx%20%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8B%E9%9D%A2%E7%9A%84%E4%BB%A3%E7%A0%81%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%20ls%20%E7%A8%8B%E5%BA%8F%E3%80%82ls%20%E7%A8%8B%E5%BA%8F%E5%B0%86%E5%88%97%E5%87%BA%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%88%E8%84%9A%E6%9C%AC%E6%89%80%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%EF%BC%89%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BB%8E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BF%9B%E7%A8%8B%E4%B8%AD%E6%8D%95%E8%8E%B7%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B0%86%E5%85%B6%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E7%84%B6%E5%90%8E%E6%89%93%E5%8D%B0%E5%88%B0%E7%BB%88%E7%AB%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cnconsole.log(output)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E6%8A%8A%2Fusr%2Fbin%2Fenv%20zx%20%E6%94%BE%E5%9C%A8%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E7%9A%84%20shebang%20%E8%A1%8C%E4%B8%AD%EF%BC%8C%E4%BD%86%E6%88%91%E4%BB%AC%E7%94%A8%2Fusr%2Fbin%2Fenv%20node%20%E4%BB%A3%E6%9B%BF%E3%80%82%E8%BF%99%E6%98%AF%E5%9B%A0%E4%B8%BA%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%20zx%EF%BC%8C%E5%B9%B6%E4%BD%9C%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E6%98%8E%E7%A1%AE%E5%9C%B0%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E6%83%B3%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%E3%80%82%E8%BF%99%E6%9C%89%E5%8A%A9%E4%BA%8E%E6%98%8E%E7%A1%AE%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E4%BE%9D%E8%B5%96%E6%9D%A5%E8%87%AA%E5%93%AA%E9%87%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%20chmod%20%E6%9D%A5%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E5%A6%82%E4%B8%8B%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%88ls%EF%BC%89%E8%A2%AB%E5%8C%85%E5%90%AB%E5%9C%A8%E8%BE%93%E5%87%BA%E4%B8%AD%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%E6%98%BE%E7%A4%BA%E4%B8%A4%E6%AC%A1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BE%93%E5%87%BA%E7%9A%84%E6%9C%AB%E5%B0%BE%E5%A4%9A%E4%BA%86%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E9%BB%98%E8%AE%A4%E4%BB%A5%20verbose%20%E6%A8%A1%E5%BC%8F%E8%BF%90%E8%A1%8C%E3%80%82%E5%AE%83%E5%B0%86%E8%BE%93%E5%87%BA%E4%BD%A0%E4%BC%A0%E9%80%92%E7%BB%99%24%E5%87%BD%E6%95%B0%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%90%8C%E6%97%B6%E4%B9%9F%E8%BE%93%E5%87%BA%E8%AF%A5%E5%91%BD%E4%BB%A4%E7%9A%84%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%E8%BF%90%E8%A1%8C%20ls%20%E5%91%BD%E4%BB%A4%E5%89%8D%E5%8A%A0%E5%85%A5%E4%BB%A5%E4%B8%8B%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E6%9D%A5%E6%94%B9%E5%8F%98%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A4%A7%E5%A4%9A%E6%95%B0%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%A6%82%20ls%EF%BC%8C%E4%BC%9A%E5%9C%A8%E5%85%B6%E8%BE%93%E5%87%BA%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E5%AD%97%E7%AC%A6%EF%BC%8C%E4%BB%A5%E4%BD%BF%E8%BE%93%E5%87%BA%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E6%9B%B4%E6%98%93%E8%AF%BB%E3%80%82%E8%BF%99%E5%AF%B9%E5%8F%AF%E8%AF%BB%E6%80%A7%E6%9C%89%E5%A5%BD%E5%A4%84%EF%BC%8C%E4%BD%86%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E8%A6%81%E5%B0%86%E8%BE%93%E5%87%BA%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E6%9C%89%E8%BF%99%E4%B8%AA%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B0%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%20JavaScript%20String%23trim()%E5%87%BD%E6%95%B0%E6%8A%8A%E5%AE%83%E5%8E%BB%E6%8E%89%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E-%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cn%2B%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout.trim()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%86%8D%E6%AC%A1%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E7%BB%93%E6%9E%9C%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%A5%BD%E5%BE%88%E5%A4%9A%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ehello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%BC%95%E5%85%A5%20TypeScript%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E6%83%B3%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%BC%96%E5%86%99%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%BE%AE%E5%B0%8F%E7%9A%84%E5%8C%BA%E5%88%AB%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%8A%A0%E4%BB%A5%E8%AF%B4%E6%98%8E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9ATypeScript%20%E7%BC%96%E8%AF%91%E5%99%A8%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E5%AE%83%E5%A6%82%E4%BD%95%E7%BC%96%E8%AF%91%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%E8%80%83%E8%99%91%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E4%B8%8B%E9%9D%A2%E7%9A%84%20TypeScript%20%E9%85%8D%E7%BD%AE%E5%92%8C%E4%BB%A3%E7%A0%81%E6%98%AF%E4%B8%BA%E4%BA%86%E5%9C%A8%E5%A4%A7%E5%A4%9A%E6%95%B0%20TypeScript%20%E7%89%88%E6%9C%AC%E4%B8%8B%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E5%AE%89%E8%A3%85%E9%9C%80%E8%A6%81%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E7%9A%84%E4%BE%9D%E8%B5%96%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Btypescript%26nbsp%3Bts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ets-node%20%E5%8C%85%E6%8F%90%E4%BE%9B%E4%BA%86%E4%B8%80%E4%B8%AA%20TypeScript%20%E6%89%A7%E8%A1%8C%E5%BC%95%E6%93%8E%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E8%83%BD%E5%A4%9F%E8%BD%AC%E8%AF%91%E5%92%8C%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%9C%80%E8%A6%81%E5%88%9B%E5%BB%BA%20tsconfig.json%20%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E4%B8%8B%E9%9D%A2%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%7B%5Cn%26%2334%3BcompilerOptions%26%2334%3B%3A%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Btarget%26%2334%3B%3A%26nbsp%3B%26%2334%3Bes2017%26%2334%3B%2C%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Bmodule%26%2334%3B%3A%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5Cn%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E6%96%B0%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B9%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world-typescript.ts%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E6%B7%BB%E5%8A%A0%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%91%8A%E8%AF%89%20OS%20%E5%86%85%E6%A0%B8%E4%BD%BF%E7%94%A8%20ts-node%20%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B.%2Fnode_modules%2F.bin%2Fts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E4%B8%AD%E4%BD%BF%E7%94%A8%20await%20%E5%85%B3%E9%94%AE%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E6%8A%8A%E5%AE%83%E5%8C%85%E8%A3%85%E5%9C%A8%E4%B8%80%E4%B8%AA%E7%AB%8B%E5%8D%B3%E8%B0%83%E7%94%A8%E5%87%BD%E6%95%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%EF%BC%88IIFE%EF%BC%89%E4%B8%AD%EF%BC%8C%E6%AD%A3%E5%A6%82%20zx%20%E6%96%87%E6%A1%A3%E6%89%80%E5%BB%BA%E8%AE%AE%E7%9A%84%E9%82%A3%E6%A0%B7%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world-typescript.ts%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnvoid%26nbsp%3B(async%26nbsp%3Bfunction%26nbsp%3B()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60ls%60%3B%5Cn%7D)()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E9%9C%80%E8%A6%81%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E4%B8%8B%E9%9D%A2%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world-typescript.ts%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cntsconfig.json%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%E8%84%9A%E6%9C%AC%E4%B8%8E%E4%BD%BF%E7%94%A8%20JavaScript%20%E7%9B%B8%E4%BC%BC%EF%BC%8C%E4%BD%86%E9%9C%80%E8%A6%81%E5%AF%B9%E6%88%91%E4%BB%AC%E7%9A%84%E4%BB%A3%E7%A0%81%E8%BF%9B%E8%A1%8C%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E9%85%8D%E7%BD%AE%E5%92%8C%E5%8C%85%E8%A3%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%9E%84%E5%BB%BA%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E7%94%A8%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AF%86%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E7%94%A8%E5%AE%83%E6%9D%A5%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B7%A5%E5%85%B7%E3%80%82%E8%BF%99%E4%B8%AA%E5%B7%A5%E5%85%B7%E5%B0%86%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E9%80%9A%E5%B8%B8%E5%BE%88%E8%80%97%E6%97%B6%E7%9A%84%E8%BF%87%E7%A8%8B%EF%BC%9A%E4%B8%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E7%9A%84%E9%85%8D%E7%BD%AE%E6%8F%90%E4%BE%9B%E5%BC%95%E5%AF%BC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BA%A4%E4%BA%92%E5%BC%8F%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E3%80%82%E5%AE%83%E8%BF%98%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E5%86%85%E7%BD%AE%E7%9A%84%20chalk%20%E5%BA%93%EF%BC%8C%E4%BB%A5%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A2%9C%E8%89%B2%E9%AB%98%E4%BA%AE%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B9%B6%E6%8F%90%E4%BE%9B%E4%B8%80%E4%B8%AA%E5%8F%8B%E5%A5%BD%E7%9A%84%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C%E3%80%82%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E8%BF%98%E5%B0%86%E5%AE%89%E8%A3%85%E6%96%B0%E9%A1%B9%E7%9B%AE%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%EF%BC%8C%E6%89%80%E4%BB%A5%E5%AE%83%E5%B7%B2%E7%BB%8F%E5%87%86%E5%A4%87%E5%A5%BD%E8%AE%A9%E6%88%91%E4%BB%AC%E7%AB%8B%E5%8D%B3%E5%BC%80%E5%A7%8B%E5%BC%80%E5%8F%91%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%87%86%E5%A4%87%E5%BC%80%E5%A7%8B%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%90%8D%E4%B8%BA%20bootstrap-tool.mjs%20%E7%9A%84%E6%96%B0%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B9%B6%E6%B7%BB%E5%8A%A0%20shebang%20%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E6%A8%A1%E5%9D%97%EF%BC%8C%E4%BB%A5%E5%8F%8A%20Node.js%20%E6%A0%B8%E5%BF%83%20path%20%E6%A8%A1%E5%9D%97%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%2F%2F%26nbsp%3Bbootstrap-tool.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%2C%26nbsp%3Bargv%2C%26nbsp%3Bcd%2C%26nbsp%3Bchalk%2C%26nbsp%3Bfs%2C%26nbsp%3Bquestion%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnimport%26nbsp%3Bpath%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bpath%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8E%E6%88%91%E4%BB%AC%E4%B9%8B%E5%89%8D%E5%88%9B%E5%BB%BA%E7%9A%84%E8%84%9A%E6%9C%AC%E4%B8%80%E6%A0%B7%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bbootstrap-tool.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E7%94%A8%E7%BA%A2%E8%89%B2%E6%96%87%E6%9C%AC%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%EF%BC%8C%E5%B9%B6%E4%BB%A5%E9%94%99%E8%AF%AF%E9%80%80%E5%87%BA%E4%BB%A3%E7%A0%81%201%20%E9%80%80%E5%87%BA%20Node.js%20%E8%BF%9B%E7%A8%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Efunction%26nbsp%3BexitWithError(errorMessage)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconsole.error(chalk.red(errorMessage))%3B%5Cn%26nbsp%3B%26nbsp%3Bprocess.exit(1)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BD%93%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%A4%84%E7%90%86%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E9%80%9A%E8%BF%87%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%9C%A8%E5%90%84%E4%B8%AA%E5%9C%B0%E6%96%B9%E4%BD%BF%E7%94%A8%E8%BF%99%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%E4%B8%89%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%9Agit%E3%80%81node%20%E5%92%8C%20npx%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20which%20%E5%BA%93%E6%9D%A5%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E6%A3%80%E6%9F%A5%E8%BF%99%E4%BA%9B%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%E5%B9%B6%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20which%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bwhich%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%BC%95%E5%85%A5%E5%AE%83%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3Bwhich%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bwhich%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BD%BF%E7%94%A8%E5%AE%83%E7%9A%84%20checkRequiredProgramsExist%20%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckRequiredProgramsExist(programs)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3Bprogram%26nbsp%3Bof%26nbsp%3Bprograms)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bwhich(program)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BRequired%26nbsp%3Bcommand%26nbsp%3B%24%7Berror.message%7D%60)%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%90%8D%E7%A7%B0%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%95%B0%E7%BB%84%EF%BC%8C%E5%AF%B9%E6%AF%8F%E4%B8%AA%E7%A8%8B%E5%BA%8F%E8%B0%83%E7%94%A8%20which%20%E5%87%BD%E6%95%B0%E3%80%82%E5%A6%82%E6%9E%9C%20which%20%E6%89%BE%E5%88%B0%E4%BA%86%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%B7%AF%E5%BE%84%EF%BC%8C%E5%AE%83%E5%B0%86%E8%BF%94%E5%9B%9E%E8%AF%A5%E7%A8%8B%E5%BA%8F%E3%80%82%E5%90%A6%E5%88%99%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%AF%A5%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E6%8A%9B%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E3%80%82%E5%A6%82%E6%9E%9C%E6%9C%89%E4%BB%BB%E4%BD%95%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E8%B0%83%E7%94%A8%20exitWithError%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%E5%B9%B6%E5%81%9C%E6%AD%A2%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%8F%AF%E4%BB%A5%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%AF%B9%20checkRequiredProgramsExist%20%E7%9A%84%E8%B0%83%E7%94%A8%EF%BC%8C%E4%BB%A5%E6%A3%80%E6%9F%A5%E6%88%91%E4%BB%AC%E7%9A%84%E5%B7%A5%E5%85%B7%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%8F%AF%E7%94%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckRequiredProgramsExist(%5B%26%2334%3Bgit%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnode%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnpx%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%B7%BB%E5%8A%A0%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E9%80%89%E9%A1%B9%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%B0%86%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E5%90%AF%E5%8A%A8%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%88%91%E4%BB%AC%E5%B8%8C%E6%9C%9B%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9A%84%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E3%80%82%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E8%A6%81%E7%BB%99%E8%84%9A%E6%9C%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20--directory%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E5%86%85%E7%BD%AE%E4%BA%86%20minimist%20%E5%8C%85%EF%BC%8C%E5%AE%83%E8%83%BD%E5%A4%9F%E8%A7%A3%E6%9E%90%E4%BC%A0%E9%80%92%E7%BB%99%E8%84%9A%E6%9C%AC%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%E8%BF%99%E4%BA%9B%E8%A2%AB%E8%A7%A3%E6%9E%90%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E8%A2%AB%20zx%20%E5%8C%85%E4%BD%9C%E4%B8%BA%20argv%20%E6%8F%90%E4%BE%9B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E5%90%8D%E4%B8%BA%20directory%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E6%A3%80%E6%9F%A5%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Elet%26nbsp%3BtargetDirectory%26nbsp%3B%3D%26nbsp%3Bargv.directory%3B%5Cnif%26nbsp%3B(!targetDirectory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%26%2334%3BError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%26%2334%3B)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%20directory%20%E5%8F%82%E6%95%B0%E8%A2%AB%E4%BC%A0%E9%80%92%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%E5%AE%83%E6%98%AF%E5%90%A6%E6%98%AF%E5%B7%B2%E7%BB%8F%E5%AD%98%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%E7%9A%84%E8%B7%AF%E5%BE%84%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%8F%90%E4%BE%9B%E7%9A%84%20fs.pathExists%20%E6%96%B9%E6%B3%95%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3EtargetDirectory%26nbsp%3B%3D%26nbsp%3Bpath.resolve(targetDirectory)%3B%5Cnif%26nbsp%3B(!(await%26nbsp%3Bfs.pathExists(targetDirectory)))%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BTarget%26nbsp%3Bdirectory%26nbsp%3B%26%2339%3B%24%7BtargetDirectory%7D%26%2339%3B%26nbsp%3Bdoes%26nbsp%3Bnot%26nbsp%3Bexist%60)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E8%B7%AF%E5%BE%84%E5%AD%98%E5%9C%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%20cd%20%E5%87%BD%E6%95%B0%E6%9D%A5%E5%88%87%E6%8D%A2%E5%BD%93%E5%89%8D%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%9A%E2%80%8D%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ecd(targetDirectory)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%9C%A8%E6%B2%A1%E6%9C%89--directory%20%E5%8F%82%E6%95%B0%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E5%BA%94%E8%AF%A5%E4%BC%9A%E6%94%B6%E5%88%B0%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3B.%2Fbootstrap-tool.mjs%5CnError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E5%85%A8%E5%B1%80%20Git%20%E8%AE%BE%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%A8%8D%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%8C%E4%BD%86%E9%A6%96%E5%85%88%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%20Git%20%E6%98%AF%E5%90%A6%E6%9C%89%E5%AE%83%E9%9C%80%E8%A6%81%E7%9A%84%E9%85%8D%E7%BD%AE%E3%80%82%E6%88%91%E4%BB%AC%E8%A6%81%E7%A1%AE%E4%BF%9D%E6%8F%90%E4%BA%A4%E4%BC%9A%E8%A2%AB%20GitHub%20%E7%AD%89%E4%BB%A3%E7%A0%81%E6%89%98%E7%AE%A1%E6%9C%8D%E5%8A%A1%E6%AD%A3%E7%A1%AE%E5%BD%92%E7%B1%BB%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%81%9A%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E8%BF%99%E9%87%8C%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E7%B4%A2%20Git%20%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%E7%9A%84%E5%80%BC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetGlobalGitSettingValue(settingName)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B%26%2334%3B%26%2334%3B%3B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60git%26nbsp%3Bconfig%26nbsp%3B--global%26nbsp%3B--get%26nbsp%3B%24%7BsettingName%7D%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B).stdout.trim()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%2F%2F%26nbsp%3BIgnore%26nbsp%3Bprocess%26nbsp%3Boutput%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BsettingValue%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E5%85%B3%E9%97%AD%20zx%20%E9%BB%98%E8%AE%A4%E8%AE%BE%E7%BD%AE%E7%9A%84%20verbose%20%E6%A8%A1%E5%BC%8F%E3%80%82%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%EF%BC%8C%E5%BD%93%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%97%B6%EF%BC%8C%E8%AF%A5%E5%91%BD%E4%BB%A4%E5%92%8C%E5%AE%83%E5%8F%91%E9%80%81%E5%88%B0%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E7%9A%84%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9%E9%83%BD%E4%B8%8D%E4%BC%9A%E8%A2%AB%E6%98%BE%E7%A4%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%9C%A8%E5%87%BD%E6%95%B0%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E5%B0%86%20verbose%20%E6%A8%A1%E5%BC%8F%E9%87%8D%E6%96%B0%E6%89%93%E5%BC%80%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E5%BD%B1%E5%93%8D%E5%88%B0%E6%88%91%E4%BB%AC%E7%A8%8D%E5%90%8E%E5%9C%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%85%B6%E4%BB%96%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%20checkGlobalGitSettings%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A5%E5%87%BD%E6%95%B0%E6%8E%A5%E6%94%B6%20Git%20%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%E7%BB%84%E6%88%90%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%B0%86%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%AF%8F%E4%B8%AA%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E4%BC%A0%E9%80%92%E7%BB%99%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E4%BB%A5%E6%A3%80%E7%B4%A2%E5%85%B6%E5%80%BC%E3%80%82%E5%A6%82%E6%9E%9C%E8%AE%BE%E7%BD%AE%E6%B2%A1%E6%9C%89%E5%80%BC%EF%BC%8C%E5%B0%86%E6%98%BE%E7%A4%BA%E8%AD%A6%E5%91%8A%E4%BF%A1%E6%81%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckGlobalGitSettings(settingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3BsettingName%26nbsp%3Bof%26nbsp%3BsettingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetGlobalGitSettingValue(settingName)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!settingValue)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.warn(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.yellow(%60Warning%3A%26nbsp%3BGlobal%26nbsp%3Bgit%26nbsp%3Bsetting%26nbsp%3B%26%2339%3B%24%7BsettingName%7D%26%2339%3B%26nbsp%3Bis%26nbsp%3Bnot%26nbsp%3Bset.%60)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E7%BB%99%20checkGlobalGitSettings%20%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E8%B0%83%E7%94%A8%EF%BC%8C%E6%A3%80%E6%9F%A5%20user.name%20%E5%92%8C%20user.email%20%E7%9A%84%20Git%20%E8%AE%BE%E7%BD%AE%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E8%A2%AB%E8%AE%BE%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckGlobalGitSettings(%5B%26%2334%3Buser.name%26%2334%3B%2C%26nbsp%3B%26%2334%3Buser.email%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%88%9D%E5%A7%8B%E5%8C%96%20Git%20%E4%BB%93%E5%BA%93%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E6%B7%BB%E5%8A%A0%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Binit%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20package.json%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%AF%8F%E4%B8%AA%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%83%BD%E9%9C%80%E8%A6%81%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E8%BF%99%E6%98%AF%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E5%AE%9A%E4%B9%89%E5%85%83%E6%95%B0%E6%8D%AE%E7%9A%84%E5%9C%B0%E6%96%B9%EF%BC%8C%E6%8C%87%E5%AE%9A%E9%A1%B9%E7%9B%AE%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E5%8C%85%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%B7%BB%E5%8A%A0%E5%AE%9E%E7%94%A8%E7%9A%84%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%94%9F%E6%88%90%20package.json%20%E6%96%87%E4%BB%B6%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E5%87%A0%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%98%AF%20readPackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%AF%BB%E5%8F%96%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BreadPackageJson(directory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3Bfs.readJSON(packageJsonFilepath)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20writePackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E5%90%91%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E5%86%99%E5%85%A5%E6%9B%B4%E6%94%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BwritePackageJson(directory%2C%26nbsp%3Bcontents)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bfs.writeJSON(packageJsonFilepath%2C%26nbsp%3Bcontents%2C%26nbsp%3B%7B%26nbsp%3Bspaces%3A%26nbsp%3B2%26nbsp%3B%7D)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%20fs.readJSON%20%E5%92%8C%20fs.writeJSON%20%E6%96%B9%E6%B3%95%E6%98%AF%E7%94%B1%20fs-extra%20%E5%BA%93%E6%8F%90%E4%BE%9B%E7%9A%84%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E5%AE%9A%E4%B9%89%E4%BA%86%20package.json%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%BC%80%E5%A7%8B%E8%80%83%E8%99%91%20package.json%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E6%94%AF%E6%8C%81%E4%B8%A4%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ECommonJS%20Modules%20(CJS)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DKTweLvts6a1zOlUbn0cnCA%253D%253D.WRSoJ3t37Y2GYjanjStt81N%252BkCOGoR11gK8pv6Fck09uaKTSXHq5mvMcWutIRxYU%3C%2Fspan%3E%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%BF%E7%94%A8%20module.exports%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20require()%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EECMAScript%20Modules%20(ESM)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DOUbF%252BkjeOpAlt3Fo9PFGFw%253D%253D.Ex%252BQVnop7rVNKtYxrnp%252Fhcm08eFRE7K2XLUBlFFQ7D4%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%BD%BF%E7%94%A8%20export%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20import%20%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E7%94%9F%E6%80%81%E7%B3%BB%E7%BB%9F%E6%AD%A3%E5%9C%A8%E9%80%90%E6%AD%A5%E9%87%87%E7%94%A8%20ES%20%E6%A8%A1%E5%9D%97%EF%BC%8C%E8%BF%99%E5%9C%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%20JavaScript%20%E4%B8%AD%E6%98%AF%E5%BE%88%E5%B8%B8%E8%A7%81%E7%9A%84%E3%80%82%E5%BD%93%E4%BA%8B%E6%83%85%E5%A4%84%E4%BA%8E%E8%BF%87%E6%B8%A1%E9%98%B6%E6%AE%B5%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%86%B3%E5%AE%9A%E6%88%91%E4%BB%AC%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%BB%98%E8%AE%A4%E4%BD%BF%E7%94%A8%20CJS%20%E6%A8%A1%E5%9D%97%E8%BF%98%E6%98%AF%20ESM%20%E6%A8%A1%E5%9D%97%E3%80%82%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%BF%99%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForModuleSystem(moduleSystems)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Which%26nbsp%3BNode.js%26nbsp%3Bmodule%26nbsp%3Bsystem%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Buse%3F%26nbsp%3B(%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26nbsp%3Bor%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D)%26nbsp%3B%60%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchoices%3A%26nbsp%3BmoduleSystems%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BmoduleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E5%87%BD%E6%95%B0%E4%BD%BF%E7%94%A8%E7%9A%84%20question%20%E5%87%BD%E6%95%B0%E7%94%B1%20zx%20%E6%8F%90%E4%BE%9B%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getNodeModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E8%B0%83%E7%94%A8%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E6%A3%80%E6%9F%A5%E6%89%80%E8%BE%93%E5%85%A5%E7%9A%84%E5%80%BC%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%8D%E6%98%AF%EF%BC%8C%E5%AE%83%E5%B0%86%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetNodeModuleSystem()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystems%26nbsp%3B%3D%26nbsp%3B%5B%26%2334%3Bmodule%26%2334%3B%2C%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForModuleSystem(moduleSystems)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BisValidModuleSystem%26nbsp%3B%3D%26nbsp%3BmoduleSystems.includes(selectedModuleSystem)%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!isValidModuleSystem)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BModule%26nbsp%3Bsystem%26nbsp%3Bmust%26nbsp%3Bbe%26nbsp%3Beither%26nbsp%3B%26%2339%3B%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26%2339%3B%26nbsp%3Bor%26nbsp%3B%26%2339%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%26%2339%3B%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BselectedModuleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E8%BF%90%E8%A1%8C%20npm%20init%20%E5%91%BD%E4%BB%A4%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npm%26nbsp%3Binit%26nbsp%3B--yes%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E8%AF%BB%E5%8F%96%E6%96%B0%E5%88%9B%E5%BB%BA%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E8%AF%A2%E9%97%AE%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%B3%BB%E7%BB%9F%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA%20packageJson%20%E5%AF%B9%E8%B1%A1%E4%B8%AD%E7%9A%84%20type%20%E5%B1%9E%E6%80%A7%E5%80%BC%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%E5%85%B6%E5%86%99%E5%9B%9E%E5%88%B0%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackageJson%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5CnpackageJson.type%26nbsp%3B%3D%26nbsp%3BselectedModuleSystem%3B%5Cnawait%26nbsp%3BwritePackageJson(targetDirectory%2C%26nbsp%3BpackageJson)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%8F%90%E7%A4%BA%EF%BC%9A%E5%BD%93%E4%BD%A0%E7%94%A8--yes%20%E6%A0%87%E5%BF%97%E8%BF%90%E8%A1%8C%20npm%20init%20%E6%97%B6%EF%BC%8C%E8%A6%81%E6%83%B3%E5%9C%A8%20package.json%20%E4%B8%AD%E8%8E%B7%E5%BE%97%E5%90%88%E7%90%86%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%EF%BC%8C%E8%AF%B7%E7%A1%AE%E4%BF%9D%E4%BD%A0%E8%AE%BE%E7%BD%AE%E4%BA%86%20npminit-*%E7%9A%84%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DX0aVKO8sVtj0bgZhFmgjVw%253D%253D.hxYbJxX5X2odlcPpk5MdIVLkT7ESAsFMhFnFSRBftI2c2BjNTUCtV1gwdXnpxWGI%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E9%A1%B9%E7%9B%AE%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E4%BD%BF%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E5%90%8E%E8%83%BD%E5%A4%9F%E8%BD%BB%E6%9D%BE%E5%9C%B0%E5%BC%80%E5%A7%8B%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForPackages%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E5%93%AA%E4%BA%9B%20npm%20%E5%8C%85%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForPackages()%26nbsp%3B%7B%5Cnlet%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3BWhich%26nbsp%3Bnpm%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Binstall%26nbsp%3Bfor%26nbsp%3Bthis%26nbsp%3Bproject%3F%26nbsp%3B%26%2334%3B%5Cn)%3B%5CnpackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall%5Cn%26nbsp%3B%26nbsp%3B.trim()%5Cn%26nbsp%3B%26nbsp%3B.split(%26%2334%3B%26nbsp%3B%26%2334%3B)%5Cn%26nbsp%3B%26nbsp%3B.filter((pkg)%26nbsp%3B%3D%26gt%3B%26nbsp%3Bpkg)%3B%5Cnreturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E9%98%B2%E6%AD%A2%E6%88%91%E4%BB%AC%E5%9C%A8%E8%BE%93%E5%85%A5%E5%8C%85%E5%90%8D%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E5%88%AB%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20identifyInvalidNpmPackages%20%E5%87%BD%E6%95%B0%E3%80%82%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E5%B0%86%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%20npm%20%E5%8C%85%E5%90%8D%E6%95%B0%E7%BB%84%EF%BC%8C%E7%84%B6%E5%90%8E%E8%BF%90%E8%A1%8C%20npm%20view%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E6%9F%A5%E5%AE%83%E4%BB%AC%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BidentifyInvalidNpmPackages(packages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3B%5B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(const%26nbsp%3Bpkg%26nbsp%3Bof%26nbsp%3Bpackages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Bview%26nbsp%3B%24%7Bpkg%7D%60%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BinvalidPackages.push(pkg)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BinvalidPackages%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getPackagesToInstall%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E5%88%9A%E5%88%9A%E5%88%9B%E5%BB%BA%E7%9A%84%E4%B8%A4%E4%B8%AA%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetPackagesToInstall()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForPackages()%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BidentifyInvalidNpmPackages(packagesToInstall)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BallPackagesExist%26nbsp%3B%3D%26nbsp%3BinvalidPackages.length%26nbsp%3B%3D%3D%3D%26nbsp%3B0%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!allPackagesExist)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BThe%26nbsp%3Bfollowing%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Bnot%26nbsp%3Bexist%26nbsp%3Bon%26nbsp%3Bnpm%3A%26nbsp%3B%24%7BinvalidPackages.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%2C%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%9C%89%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%90%8D%E7%A7%B0%E4%B8%8D%E6%AD%A3%E7%A1%AE%EF%BC%8C%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E6%97%A6%E6%88%91%E4%BB%AC%E5%BE%97%E5%88%B0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E6%9C%89%E6%95%88%E5%8C%85%E5%88%97%E8%A1%A8%EF%BC%8C%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20npm%20install%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E5%AE%89%E8%A3%85%E5%AE%83%E4%BB%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cnconst%26nbsp%3BhavePackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall.length%26nbsp%3B%26gt%3B%26nbsp%3B0%3B%5Cnif%26nbsp%3B(havePackagesToInstall)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Binstall%26nbsp%3B%24%7BpackagesToInstall%7D%60%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E4%B8%BA%E5%B7%A5%E5%85%B7%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE%E6%98%AF%E6%88%91%E4%BB%AC%E7%94%A8%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E7%9A%84%E6%9C%80%E4%BD%B3%E4%BA%8B%E9%A1%B9%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA.gitignore%20%E6%96%87%E4%BB%B6%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E6%84%8F%E5%A4%96%E5%9C%B0%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E5%9C%A8%20Git%20%E4%BB%93%E5%BA%93%E4%B8%AD%E5%87%BA%E7%8E%B0%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bgitignore%26nbsp%3Bnode%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8%20gitignore%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DV%252FIoxipE2WxmNECDRNKMqg%253D%253D.7Y4d34n%252BoUVlJkYEiJt3NLa9RHn2pYtKq%252BHpO67HIQjfjKAHIxcMynZzTudktHaV%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E5%8C%85%EF%BC%8C%E4%BB%8E%20GitHub%20%E7%9A%84%20gitignore%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3E%20https%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DSzh56TKqT6gYmrJidM7ZXg%253D%253D.BK7Vf5F73GaplJKeN48OsobM6U4EPriatZOr3dBhsSVZIuIUiktyqfS1jhLLtQ7o%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E6%A8%A1%E6%9D%BF%E4%B8%AD%E6%8B%89%E5%8F%96%20Node.js%20%E7%9A%84.gitignore%20%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E7%9A%84%20EditorConfig%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DdGD5%252BEyCTqLfqDSif7%252FHgQ%253D%253D.xgNWBjR6m%252FIUFlG1UmM3CYX2R%252BLXFN531lZhlvCRRWs%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%81Prettier%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3Dn7clHFqLMZZala0zu1JjdQ%253D%253D.jivAg4cL8HkSAhuurMUHrlfhGGILOpveTQR0rjCRXyg%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%92%8C%20ESLint%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DJ4jXEAmmBQ83%252FWSrOtTsAQ%253D%253D.b%252FKC0kT%252FZWZQ9KBItXDMQHWJBzc5aW9hUZsxWHBsMY4%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E4%B8%80%E4%B8%AA%E5%8F%AB%E5%81%9A%20Mrm%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E7%9A%84%20mrm%20%E4%BE%9D%E8%B5%96%E9%A1%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--global%26nbsp%3Bmrm%26nbsp%3Bmrm-task-editorconfig%26nbsp%3Bmrm-task-prettier%26nbsp%3Bmrm-task-eslint%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%B7%BB%E5%8A%A0%20mrm%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beditorconfig%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Bprettier%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beslint%60%3B%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EMrm%20%E8%B4%9F%E8%B4%A3%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%E3%80%82%E5%AE%83%E8%BF%98%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E7%94%9F%E6%88%90%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BB%A5%E7%AC%A6%E5%90%88%E6%88%91%E4%BB%AC%E7%9A%84%E4%B8%AA%E4%BA%BA%E5%81%8F%E5%A5%BD%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20README%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E7%9A%84%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%E8%AF%BB%E5%8F%96%E9%A1%B9%E7%9B%AE%E5%90%8D%E7%A7%B0%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA%E5%9F%BA%E6%9C%AC%E7%9A%84%20Markdown%20%E6%A0%BC%E5%BC%8F%E7%9A%84%20README%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E5%86%99%E5%85%A5%20README.md%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3B%7B%26nbsp%3Bname%3A%26nbsp%3BprojectName%26nbsp%3B%7D%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BreadmeContents%26nbsp%3B%3D%26nbsp%3B%60%23%26nbsp%3B%24%7BprojectName%7D%5Cn...%5Cn%60%3B%5Cnawait%26nbsp%3Bfs.writeFile(%60%24%7BtargetDirectory%7D%2FREADME.md%60%2C%26nbsp%3BreadmeContents)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%9A%B4%E9%9C%B2%E7%9A%84%20fs.writeFile%20%E7%9A%84%20promise%20%E5%8F%98%E9%87%8F%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%8F%90%E4%BA%A4%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%80%E5%90%8E%EF%BC%8C%E6%98%AF%E6%97%B6%E5%80%99%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E7%94%A8%20git%20%E5%88%9B%E5%BB%BA%E7%9A%84%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%E4%BA%86%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Badd%26nbsp%3B.%60%3B%5Cnawait%26nbsp%3B%24%60git%26nbsp%3Bcommit%26nbsp%3B-m%26nbsp%3B%26%2334%3BAdd%26nbsp%3Bproject%26nbsp%3Bskeleton%26%2334%3B%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E6%9D%A1%E6%B6%88%E6%81%AF%EF%BC%8C%E7%A1%AE%E8%AE%A4%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B7%B2%E7%BB%8F%E6%88%90%E5%8A%9F%E5%90%AF%E5%8A%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econsole.log(%5Cn%26nbsp%3B%26nbsp%3Bchalk.green(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60%5C%5Cn%E2%9C%94%EF%B8%8F%26nbsp%3BThe%26nbsp%3Bproject%26nbsp%3B%24%7BprojectName%7D%26nbsp%3Bhas%26nbsp%3Bbeen%26nbsp%3Bsuccessfully%26nbsp%3Bbootstrapped!%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B)%5Cn)%3B%5Cnconsole.log(chalk.green(%60Add%26nbsp%3Ba%26nbsp%3Bgit%26nbsp%3Bremote%26nbsp%3Band%26nbsp%3Bpush%26nbsp%3Byour%26nbsp%3Bchanges.%60))%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%90%AF%E5%8A%A8%E6%96%B0%E9%A1%B9%E7%9B%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bnew-project%5Cn.%2Fbootstrap-tool.mjs%26nbsp%3B--directory%26nbsp%3Bnew-project%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%B9%B6%E8%A7%82%E7%9C%8B%E6%88%91%E4%BB%AC%E6%89%80%E5%81%9A%E7%9A%84%E4%B8%80%E5%88%87%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%80%BB%E7%BB%93%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E5%A6%82%E4%BD%95%E5%9C%A8%20Node.js%20%E4%B8%AD%E5%80%9F%E5%8A%A9%20Google%20%E7%9A%84%20zx%20%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E5%BC%BA%E5%A4%A7%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E4%BA%86%E5%AE%83%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%92%8C%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%81%B5%E6%B4%BB%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%B0%E7%9B%AE%E5%89%8D%E4%B8%BA%E6%AD%A2%EF%BC%8C%E6%88%91%E4%BB%AC%E6%89%80%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%8F%AA%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BC%80%E5%A7%8B%E3%80%82%E8%BF%99%E9%87%8C%E6%9C%89%E4%B8%80%E4%BA%9B%E5%8A%9F%E8%83%BD%E7%82%B9%E5%AD%90%EF%BC%8C%E4%BD%A0%E5%8F%AF%E8%83%BD%E6%83%B3%E5%B0%9D%E8%AF%95%E8%87%AA%E5%B7%B1%E6%B7%BB%E5%8A%A0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E3%80%82%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E8%BF%98%E4%B8%8D%E5%AD%98%E5%9C%A8%EF%BC%8C%E5%88%99%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E5%B9%B6%E8%AF%A2%E9%97%AE%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E6%83%B3%E8%A6%81%E4%B8%BA%E4%BB%96%E4%BB%AC%E5%88%9B%E5%BB%BA%E8%AF%A5%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BC%80%E6%BA%90%E5%8D%AB%E7%94%9F%E3%80%82%E9%97%AE%E9%97%AE%E7%94%A8%E6%88%B7%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E5%9C%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B0%86%E6%98%AF%E5%BC%80%E6%BA%90%E7%9A%84%E9%A1%B9%E7%9B%AE%E3%80%82%E5%A6%82%E6%9E%9C%E6%98%AF%E7%9A%84%E8%AF%9D%EF%BC%8C%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E8%AE%B8%E5%8F%AF%E8%AF%81%E5%92%8C%E8%B4%A1%E7%8C%AE%E8%80%85%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%20GitHub%20%E4%B8%8A%E7%9A%84%E4%BB%93%E5%BA%93%E3%80%82%E6%B7%BB%E5%8A%A0%E4%BD%BF%E7%94%A8%20GitHub%20CLI%20%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%9C%A8%20GitHub%20%E4%B8%8A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E3%80%82%E4%B8%80%E6%97%A6%E7%94%A8%20Git%20%E6%8F%90%E4%BA%A4%E4%BA%86%E5%88%9D%E5%A7%8B%E9%AA%A8%E6%9E%B6%EF%BC%8C%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E6%8E%A8%E9%80%81%E5%88%B0%E8%BF%99%E4%B8%AA%E4%BB%93%E5%BA%93%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E5%9C%A8%20GitHub%20%E4%B8%8A%E6%89%BE%E5%88%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E8%AF%91%E8%87%AA%EF%BC%9A%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5Z%252ByLQNgua%252FY5gnguxXllg%253D%253D.SeNINYETng%252BH6uZupDjhsYNRqM5GWB5jXVDlvMdMqsO9u3CmWfwe8DwT48iAvK%252Fsm8pflQ8jbxHc1sB281%252B6pA%253D%253D%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%9C%E8%80%85%EF%BC%9A%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3ESimon%20Plenderleith%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BB%A5%E4%B8%8A%E5%B0%B1%E6%98%AF%E6%9C%AC%E6%96%87%E7%9A%84%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9%E3%80%82%E5%A6%82%E6%9E%9C%E5%AF%B9%E4%BD%A0%E6%9C%89%E6%89%80%E5%B8%AE%E5%8A%A9%EF%BC%8C%E6%AC%A2%E8%BF%8E%E7%82%B9%E8%B5%9E%E3%80%81%E6%94%B6%E8%97%8F%E3%80%81%E8%BD%AC%E5%8F%91~%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Chr%3E%22%2C%22imageList%22%3A%5B%5D%2C%22mediaInfo%22%3A%7B%22userId%22%3A%22MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH%22%2C%22unsafeUserId%22%3A%224288553596503552%22%2C%22name%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22avatarUrl%22%3A%22https%3A%2F%2Fsf3-cdn-tos.toutiaostatic.com%2Fimg%2Fuser-avatar%2Fc14bb151d3505084033c82ee8238acde~300x300.image%22%2C%22description%22%3A%22%E6%AC%A2%E8%BF%8E%E5%85%B3%E6%B3%A8VX%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22userVerified%22%3A1%7D%2C%22seoTDK%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC-%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1%22%2C%22description%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22keywords%22%3A%22%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%2CNode.js%2CGoogle%2CJavaScript%2CBash%2CTypeScript%2CZsh%2CGitHub%2C%E7%BE%8E%E5%A5%BD%EF%BC%8C%E4%B8%80%E7%9B%B4%E5%9C%A8%E8%BA%AB%E8%BE%B9%22%2C%22publishTimestamp%22%3A%221678237205%22%2C%22modifiedTimestamp%22%3A%221685548306%22%7D%2C%22cover%22%3A%22https%3A%2F%2Fp3-sign.toutiaoimg.com%2Flarge%2Ftos-cn-i-qvj2lq49k0%2F7894dd4439eb4e78ad35208f496e841a%3F_iz%3D58558%26from%3Darticle.pc_detail%26x-expires%3D1690103402%26x-signature%3D5z%252FNWR2V4o%252B5W0fhczXkGuaSyYE%253D%22%2C%22logId%22%3A%222023071617100290B65219A60FE2C10ABA%22%2C%22sylpageConfig%22%3A%7B%22card%22%3A%7B%22id%22%3A%22%22%7D%7D%2C%22identity%22%3A%7B%22web_id%22%3A%227235169635611018810%22%2C%22user_is_login%22%3Afalse%7D%2C%22abtestInfo%22%3A%7B%22rsp_type%22%3A5%2C%22version_name%22%3A%224938400%22%2C%22parameters%22%3A%7B%22filter%22%3A%7B%22debug_enable_pc_small_video%22%3Afalse%2C%22enable_pc_small_video%22%3Atrue%7D%2C%22home_nav_conf%22%3A%7B%22dcd_out%22%3A1%7D%2C%22optimus%22%3A%7B%22rule_rank_rules%22%3A%22ranking_rule_list%20%7B%5Cn%20%20id%3A%201221233%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2212123%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%202%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%2020458%5Cn%20%20priority%3A%203%5Cn%20%20enabled%3A%20true%5Cn%20%20category%3A%2020458%5Cn%20%20type%3A%20WINDOW%5Cn%20%20window_rule%20%7B%5Cn%20%20%20%20type%3A%20SLIDE%5Cn%20%20%20%20size%3A%203%5Cn%20%20%20%20max%3A%201%5Cn%20%20%7D%5Cn%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%201111024%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2211024%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%206%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%22%7D%2C%22page_upgrade%22%3A%7B%22new_profile%22%3Atrue%2C%22video_double_column%22%3Atrue%7D%2C%22recall%22%3A%7B%22debug_filter_reason_list%22%3A%5B%5D%2C%22debug_recall_reason_list%22%3A%5B70%2C71%2C72%2C73%2C80%2C83%5D%2C%22enable_debug_filter_reason%22%3Atrue%2C%22enable_debug_recall_reason%22%3Atrue%2C%22friend_feed%22%3A%7B%22control_nums%22%3A1500%2C%22count%22%3A1000%2C%22enable%22%3Atrue%2C%22enable_cpp_friend_feed%22%3Atrue%2C%22enable_friend_feed_container_filter%22%3Atrue%2C%22enable_group_status_filter%22%3Atrue%2C%22params%22%3A%7B%7D%2C%22top_k%22%3A10%2C%22use_new_friend_recall%22%3Atrue%2C%22valid_group_source%22%3A%5B2%2C5%2C15%2C23%2C16%2C19%2C21%2C132%5D%2C%22weight%22%3A20%7D%7D%2C%22seraph%22%3A%7B%22rule_rank_rules_pc_small%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20%20%20%20%20%20id%3A%2022124%20%5Cn%20%20%20%20%20%20%20%20%20priority%3A%200%20%5Cn%20%20%20%20%20%20%20%20%20tags%3A%20%5C%2222124%5C%22%20%5Cn%20%20%20%20%20%20%20%20%20enabled%3A%20true%20%5Cn%20%20%20%20%20%20%20%20%20type%3A%20CARD%20%5Cn%20%20%20%20%20%20%20%20%20card_rule%20%7B%20%5Cn%20%20%20%20%20%20%20%20%20size%3A%206%20%5Cn%20%20%20%20%20%20%20%20%20num_cards%3A%201%5Cn%20%20%20%20%20%20%20%20%20type%3A%20SAME_SLOT%20%5Cn%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%22%2C%22rule_rank_rules_pc_small_window%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20id%3A%20222124%5Cn%20%20%20priority%3A%200%5Cn%20%20%20tags%3A%20%5C%2222124%5C%22%5Cn%20%20%20%20enabled%3A%20false%5Cn%20%20%20%20type%3A%20WINDOW%5Cn%20%20%20%20window_rule%20%7B%5Cn%20%20%20type%3A%20SLIDE%20%5Cn%20%20%20size%3A%2012%20%5Cn%20%20%20max%3A%206%20%5Cn%20%20%20%7D%5Cn%20%20%20%7D%22%7D%2C%22small_sort%22%3A%7B%22enable_filter_zhanwai%22%3Atrue%2C%22filter_genre_plog%22%3Afalse%2C%22filter_genre_small%22%3Afalse%2C%22skip_small_app_version_filter%22%3Afalse%2C%22skip_small_genre_filter%22%3Afalse%7D%2C%22sort%22%3A%7B%22allowed_ticai%22%3A%5B%22forum_post%22%2C%22pgc_text%22%2C%22pgc_video%22%2C%22short_video%22%5D%2C%22enable_optimus_gen_pc_mv_card%22%3Atrue%2C%22enable_optimus_gen_pc_sv_card%22%3Atrue%2C%22enable_pc_skip_app_smallvideo_card%22%3Atrue%7D%2C%22ugc_sort%22%3A%7B%22expore_smallvideo%22%3Atrue%7D%2C%22video_channel%22%3A%7B%22use_feed%22%3A1%2C%22rank%22%3A5%7D%7D%2C%22env_flag%22%3A0%7D%2C%22localCityInfo%22%3A%7B%22name%22%3A%22%E8%A5%84%E9%98%B3%22%2C%22code%22%3A%22420600%22%2C%22channelId%22%3A3202181326%7D%2C%22voteLink%22%3A%5B%7B%22keyword%22%3A%22%E6%9C%AB%E4%B8%96%E9%87%8D%E7%94%9F%EF%BC%8C%E6%88%91%E6%8A%A2%E4%BA%86%E5%A5%B3%E4%B8%BB%E7%9A%84%E9%87%91%E6%89%8B%E6%8C%87%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7045105728742231079%22%7D%2C%7B%22keyword%22%3A%22%E4%BA%BA%E5%9C%A8%E6%B5%B7%E8%B4%BC%3A%E6%88%91%E6%88%90%E4%B8%BA%E4%BA%86%E6%B5%B7%E5%86%9B%E5%A5%B3%E7%8E%8B%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7070145477789879300%22%7D%2C%7B%22keyword%22%3A%22%E6%B2%A1%E7%9E%8E%E7%9C%BC%E4%B8%89%E5%B9%B4%EF%BC%8C%E4%BD%86%E6%88%91%E7%9A%84%E5%AD%A6%E7%94%9F%E4%B8%8D%E6%98%AF%E4%BA%BA%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7118385133568134175%22%7D%2C%7B%22keyword%22%3A%22%E7%9C%9F%E5%8D%83%E9%87%91%E4%BB%8E%E4%BF%AE%E7%9C%9F%E7%95%8C%E5%9B%9E%E6%9D%A5%E4%BA%86%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F6983183491827502094%22%7D%2C%7B%22keyword%22%3A%22%E5%BC%82%E4%B8%96%E7%9B%B8%E9%81%87%E5%B0%BD%E4%BA%AB%E7%A4%BE%E6%AD%BB%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F583844%22%7D%2C%7B%22keyword%22%3A%22python%20ols%E5%9B%9E%E5%BD%92%E5%88%86%E6%9E%90%E7%BB%93%E6%9E%9C%E6%80%8E%E4%B9%88%E7%9C%8B%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131680%22%7D%2C%7B%22keyword%22%3A%22%E7%A5%9E%E5%A5%87%E5%AE%9D%E8%B4%9D%E4%B9%8B%E5%85%A8%E8%83%BD%E6%8E%8C%E9%97%A8%E4%BA%BA%E8%87%B4%E5%85%89%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F738595%22%7D%2C%7B%22keyword%22%3A%22%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3java8%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131722%22%7D%2C%7B%22keyword%22%3A%22linux%20mysql%20%E6%97%A5%E5%BF%97%E6%B8%85%E7%90%86%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1182964%22%7D%2C%7B%22keyword%22%3A%22%E6%88%91%E5%9C%A8%E5%AE%9D%E5%8F%AF%E6%A2%A6%E4%B8%96%E7%95%8C%E6%88%90%E4%B8%BA%E7%AC%AC%E4%B8%80%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F188604%22%7D%5D%2C%22grSensitive%22%3Afalse%2C%22showResearch%22%3Afalse%2C%22blockVisibility%22%3A%7B%22hotBoard%22%3Atrue%2C%22hotVideo%22%3Atrue%2C%22relatedRecommend%22%3Atrue%7D%2C%22isGreyTheme%22%3Afalse%2C%22searchBot%22%3Anull%7D%7D
npxmrmeditorconfig`;
await
社区精选|如何使用 zx 编写 shell 脚本-*今条头日**
{"@context":"https://schema.org","@type":"NewsArticle","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.toutiao.com/article/7207743318715793920/"},"headline":"社区精选|如何使用 zx 编写 shell 脚本","description":"在这篇文章中,我们将学习谷歌的 zx 库提供了什么,以及我们如何使用它来用 Node.js 编写 shell 脚本。","image":[],"datePublished":"2023-03-08T01:00:05.000Z","dateModified":"2023-05-31T15:51:46.000Z","author":{"@type":"Person","name":"计算科学与信息化","url":"https://www.toutiao.com/c/user/token/MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH/"},"publisher":{"@type":"Organization","name":"*今条头日**","logo":{"@type":"ImageObject","url":"https://lf3-static.bytednsdoc.com/obj/eden-cn/uhbfnupkbps/216.png"}}}
!function(r,e,t,n,s,a,o,i,c,l,d,p,m,f){a="precollect",o="getAttribute",i="addEventListener",(l=function(e){(d=[].slice.call(arguments)).push(Date.now(),location.href),(e==a?l.p.a:l.q).push(d)}).q=[],l.p={a:[]},r[s]=l,(p=document.createElement("script")).src=t+"?bid=toutiao_web_pc&globalName="+s,p.crossOrigin=0
window.Slardar&&window.Slardar("init",{bid:"toutiao_web_pc",pid:"news_article_detail",release:"1.0.0.1822",env:"online",sample:{sample_rate:1},plugins:{ajax:{ignoreUrls:["mcs.snssdk.com","mcs.zijieapi.com","i.snssdk.com","verify.snssdk.com","vcs.snssdk.com","mon.zijieapi.com","mon.snssdk.com"]},pageview:{routeMode:"manual"},blankScreen:{rootSelector:"#root"}}})
!function(n,t){if(n.LogAnalyticsObject=t,!n[t]){function c(){c.q.push(arguments)}c.q=c.q||[],n[t]=c}n[t].l=+new Date}(window,"collectEvent")
window.collectEvent("usePlugin","autotrack"),window.collectEvent("usePlugin","stay"),window.collectEvent("init",{app_id:24,channel:"cn",autotrack:{custom:"tea",text:!0},enable_stay_duration:!0}),window.collectEvent("config",{evtParams:{url:window.location.href,screen_width:window.screen.width,screen_height:window.screen.height,screen_inner_width:window.innerWidth,screen_inner_height:window.innerHeight}})
window.byted_acrawler&&window.byted_acrawler.init({aid:24,dfp:!0})
window.TTGCaptcha&&window.TTGCaptcha.init({commonOptions:{aid:24,iid:"0",did:"0"}})
window.secsdk&&window.secsdk.csrf.setProtectedHost({"www.toutiao.com":{GET:[],POST:[/^\/api\/pc\/user\/fans_digg/,/^\/api\/pc\/user\/delete/,/^\/api\/pc\/user\/follow/,/^\/c\/ugc\/content\/repost/,/^\/group\/repin/,/^\/group\/unrepin/,/^\/api\/pc\/user\/stick/,/^\/api\/pc\/user\/unstick/,/^\/c\/user\/unfollow/,/^\/wenda\/v5\/interact\/followanswer/,/^\/wenda\/v5\/interact\/followquestion/,/^\/wenda\/v5\/interact\/digganswer/,/^\/wenda\/v5\/interact\/deleteanswer/,/^\/user_data\/batch_action/],PUT:[],PATCH:[],DELETE:[]}})
"undefined"!=typeof window&&"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("/sw.js").catch(function(e){window.Slardar&&window.Slardar("emit","counter",{name:"sw-register-error",value:1})})})
function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-QEHZPBE5HH")
%7B%22data%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%22%2C%22abstract%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22articleType%22%3A%22article%22%2C%22itemId%22%3A%227207743318715793920%22%2C%22groupId%22%3A%227207743318715793920%22%2C%22groupSource%22%3A2%2C%22isOriginal%22%3Afalse%2C%22banComment%22%3Afalse%2C%22publishTime%22%3A%222023-03-08%2009%3A00%22%2C%22source%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22tag%22%3A%22technique%22%2C%22mediaSite%22%3Anull%2C%22pathname%22%3A%22%2Farticle%2F7207743318715793920%2F%22%2C%22useCandle%22%3Afalse%2C%22isExclusive%22%3Afalse%2C%22favorite%22%3Afalse%2C%22relation%22%3A%7B%22isFollowing%22%3Afalse%2C%22isFollowed%22%3Afalse%7D%2C%22likeData%22%3A%7B%22userLikeStatus%22%3A0%2C%22count%22%3A1%7D%2C%22isSelf%22%3Afalse%2C%22content%22%3A%22%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%89%8D%E8%A8%80%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E6%9D%A5%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E5%BC%95%E5%AF%BC%E9%85%8D%E7%BD%AE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E7%BC%96%E5%86%99%20Shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E9%97%AE%E9%A2%98%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%94%B1%20Bash%20%E6%88%96%E8%80%85%20zsh%20%E6%89%A7%E8%A1%8C%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%98%AF%E8%87%AA%E5%8A%A8%E5%8C%96%E9%87%8D%E5%A4%8D%E4%BB%BB%E5%8A%A1%E7%9A%84%E5%A5%BD%E6%96%B9%E6%B3%95%E3%80%82Node.js%20%E4%BC%BC%E4%B9%8E%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E7%90%86%E6%83%B3%E9%80%89%E6%8B%A9%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E8%AE%B8%E5%A4%9A%E6%A0%B8%E5%BF%83%E6%A8%A1%E5%9D%97%EF%BC%8C%E5%B9%B6%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E5%AF%BC%E5%85%A5%E4%BB%BB%E4%BD%95%E6%88%91%E4%BB%AC%E9%80%89%E6%8B%A9%E7%9A%84%E5%BA%93%E3%80%82%E5%AE%83%E8%BF%98%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%AE%BF%E9%97%AE%20JavaScript%20%E6%8F%90%E4%BE%9B%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E5%92%8C%E5%86%85%E7%BD%AE%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E4%BD%A0%E5%B0%9D%E8%AF%95%E7%BC%96%E5%86%99%E8%BF%90%E8%A1%8C%E5%9C%A8%20Node.js%20%E4%B8%AD%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E4%BD%A0%E4%BC%9A%E5%8F%91%E7%8E%B0%E8%BF%99%E6%B2%A1%E6%9C%89%E4%BD%A0%E6%83%B3%E8%B1%A1%E4%B8%AD%E7%9A%84%E9%82%A3%E4%B9%88%E9%A1%BA%E5%88%A9%E3%80%82%E4%BD%A0%E9%9C%80%E8%A6%81%E4%B8%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%BC%96%E5%86%99%E7%89%B9%E6%AE%8A%E7%9A%84%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%EF%BC%8C%E6%B3%A8%E6%84%8F%E8%BD%AC%E4%B9%89%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%EF%BC%8C%E7%84%B6%E5%90%8E%E6%9C%80%E7%BB%88%E4%B8%8E%20stdout%EF%BC%88%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%89%E5%92%8C%20stderr%EF%BC%88%E6%A0%87%E5%87%86%E9%94%99%E8%AF%AF%EF%BC%89%E6%89%93%E4%BA%A4%E9%81%93%E3%80%82%E8%BF%99%E4%B8%8D%E6%98%AF%E7%89%B9%E5%88%AB%E7%9B%B4%E8%A7%82%EF%BC%8C%E8%80%8C%E4%B8%94%E4%BC%9A%E4%BD%BF%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E7%9B%B8%E5%BD%93%E7%AC%A8%E6%8B%99%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EBash%20shell%20%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E6%99%AE%E9%81%8D%E9%80%89%E6%8B%A9%E3%80%82%E4%B8%8D%E9%9C%80%E8%A6%81%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%E6%9D%A5%E5%A4%84%E7%90%86%E5%AD%90%E8%BF%9B%E7%A8%8B%EF%BC%8C%E8%80%8C%E4%B8%94%E5%AE%83%E6%9C%89%E5%86%85%E7%BD%AE%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E6%9D%A5%E5%A4%84%E7%90%86%20stdout%20%E5%92%8C%20stderr%E3%80%82%E4%BD%86%E6%98%AF%E7%94%A8%20Bash%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E4%B9%9F%E4%B8%8D%E6%98%AF%E9%82%A3%E4%B9%88%E5%AE%B9%E6%98%93%E3%80%82%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9B%B8%E5%BD%93%E6%B7%B7%E4%B9%B1%EF%BC%8C%E4%BD%BF%E5%BE%97%E5%AE%83%E5%AE%9E%E7%8E%B0%E9%80%BB%E8%BE%91%EF%BC%8C%E6%88%96%E8%80%85%E5%A4%84%E7%90%86%E8%AF%B8%E5%A6%82%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E7%9A%84%E4%BA%8B%E6%83%85%E9%9D%9E%E5%B8%B8%E5%9B%B0%E9%9A%BE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%9C%89%E5%8A%A9%E4%BA%8E%E8%AE%A9%E4%BD%BF%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E9%AB%98%E6%95%88%E5%92%8C%E8%88%92%E9%80%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BE%80%E4%B8%8B%E9%98%85%E8%AF%BB%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%E9%9C%80%E8%A6%81%E9%81%B5%E5%BE%AA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%90%86%E6%83%B3%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E4%BD%A0%E5%BA%94%E8%AF%A5%E7%86%9F%E6%82%89%20JavaScript%20%E5%92%8C%20Node.js%20%E7%9A%84%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E9%80%82%E5%BA%94%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20Node.js%20%26gt%3B%3D%20v14.13.1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cbr%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E4%BB%8E%20GitHub%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DysCUhsc%252BhqUmtqCo55t8jw%253D%253D.aWhjUaPje6eTlkcFFdhW%252FeIVYyAz5G%252FoPbGuXjsxlpcJphMKguwz3NoHWQ9o2vDb47Nfnm9kpIP6Ol5r6Euc8A%253D%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E8%8E%B7%E5%BE%97%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E8%BF%90%E4%BD%9C%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EGoogle%20%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%88%9B%E5%BB%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%A4%84%E7%90%86%E8%BF%99%E4%BA%9B%E8%BF%9B%E7%A8%8B%E7%9A%84%20stdout%20%E5%92%8C%20stderr%20%E7%9A%84%E5%87%BD%E6%95%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E7%9A%84%E4%B8%BB%E8%A6%81%E5%87%BD%E6%95%B0%E6%98%AF%24%E5%87%BD%E6%95%B0%E3%80%82%E4%B8%8B%E9%9D%A2%E6%98%AF%E5%AE%83%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AE%9E%E9%99%85%E4%BE%8B%E5%AD%90%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnawait%26nbsp%3B%24%60ls%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E6%89%A7%E8%A1%8C%E4%B8%8A%E8%BF%B0%E4%BB%A3%E7%A0%81%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnbootstrap-tool%5Cnhello-world%5Cnnode_modules%5Cnpackage.json%5CnREADME.md%5Cntypescript%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%E7%9A%84%20JavaScript%20%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9C%8B%E8%B5%B7%E6%9D%A5%E6%9C%89%E7%82%B9%E5%8F%A4%E6%80%AA%E3%80%82%E5%AE%83%E4%BD%BF%E7%94%A8%E4%BA%86%E4%B8%80%E7%A7%8D%E5%8F%AB%E5%81%9A%E5%B8%A6%E6%A0%87%E7%AD%BE%E7%9A%84%E6%A8%A1%E6%9D%BF%E5%AD%97%E7%AC%A6%E4%B8%B2%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DVUkodq5er%252Fynbhfl3MUQZA%253D%253D.%252Flx6oaDCVK4XuYyYLqvDi2QMWjCwW1jKBvNQgfaGG0AVwpl7I2CYD4sJYHuonDSA6jj1qSSypc0aGVO%252BYuBMUiibG6pBkVwusg%252Bai1hbMXetqlwMTWVUEAbtabMCbXIs%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E3%80%82%E5%AE%83%E5%9C%A8%E5%8A%9F%E8%83%BD%E4%B8%8A%E4%B8%8E%E7%BC%96%E5%86%99%20await%20%24(%26%2334%3Bls%26%2334%3B)%E7%9B%B8%E5%90%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%85%B6%E4%BB%96%E5%87%A0%E4%B8%AA%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%EF%BC%8C%E4%BD%BF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E6%9B%B4%E5%AE%B9%E6%98%93%E3%80%82%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ecd()%E3%80%82%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E6%9B%B4%E6%94%B9%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Equestion()%E3%80%82%E8%BF%99%E6%98%AF%20Node.js%20readline%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%8C%85%E8%A3%85%E5%99%A8%E3%80%82%E5%AE%83%E4%BD%BF%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E5%8F%98%E5%BE%97%E7%AE%80%E5%8D%95%E6%98%8E%E4%BA%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%99%A4%E4%BA%86%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%A4%96%EF%BC%8C%E5%AE%83%E8%BF%98%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E5%87%A0%E4%B8%AA%E6%B5%81%E8%A1%8C%E7%9A%84%E5%BA%93%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Echalk%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D%252FL15Y8OQNrp05Scx6N4iaQ%253D%253D.r8AZkfcE1Ye%252BlNUznFA9RNJMhfyM0lttTiD0TmqjJQwoi7zjQjs5YiLjI%252FWDEooY%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%99%E4%B8%AA%E5%BA%93%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E4%B8%BA%E8%84%9A%E6%9C%AC%E7%9A%84%E8%BE%93%E5%87%BA%E6%B7%BB%E5%8A%A0%E9%A2%9C%E8%89%B2%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Eminimist%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5tMQ5d6qJ4STEHZeuiN0MA%253D%253D.x9GPOpXVZp5TGKknZCkwA10QP%252Ftw%252BW7fwnpYGg%252BnlJPJLK3RboT3jqy5WuPLFwPZ%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E4%B8%AA%E8%A7%A3%E6%9E%90%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E7%9A%84%E5%BA%93%E3%80%82%E7%84%B6%E5%90%8E%E5%AE%83%E4%BB%AC%E5%9C%A8%20argv%20%E5%AF%B9%E8%B1%A1%E4%B8%8B%E8%A2%AB%E6%9A%B4%E9%9C%B2%E5%87%BA%E6%9D%A5%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efetch%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D71LC44tCu%252FZoLOY2B7MfuA%253D%253D.GO%252FMi37T0KTmj8UXau9xdFUBiIk1I%252F8M%252FHk2hZYrhRb%252Fd3Vl0bzlr05hanNxzuVb%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EFetch%20API%20%E7%9A%84%20Node.js%20%E5%AE%9E%E7%8E%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E8%BF%9B%E8%A1%8C%20HTTP%20%E8%AF%B7%E6%B1%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efs-extra%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DcPZzXniTRFJdbq87FdwLWw%253D%253D.IsmhSUEjIcZAqw8FDidbUnNhhIVPT1gsFSo%252BchiXCAs9AaxUVT%252FEgbIvswUDVmK2%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%B8%80%E4%B8%AA%E6%9A%B4%E9%9C%B2%20Node.js%20%E6%A0%B8%E5%BF%83%20fs%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%BA%93%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B9%E6%B3%95%EF%BC%8C%E4%BD%BF%E5%85%B6%E6%9B%B4%E5%AE%B9%E6%98%93%E4%B8%8E%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%80%E8%B5%B7%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9F%A5%E9%81%93%E4%BA%86%20zx%20%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E4%BB%80%E4%B9%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E7%94%A8%E5%AE%83%E5%88%9B%E5%BB%BA%E7%AC%AC%E4%B8%80%E4%B8%AA%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bzx-shell-scripts%5Cncd%26nbsp%3Bzx-shell-scripts%5Cnnpm%26nbsp%3Binit%26nbsp%3B--yes%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%AE%89%E8%A3%85%20zx%20%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bzx%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E7%9A%84%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E7%94%A8%20npm%20%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E8%AF%A5%E5%BA%93%E3%80%82%E9%80%9A%E8%BF%87%E5%B0%86%E5%85%B6%E5%AE%89%E8%A3%85%E4%B8%BA%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%A1%AE%E4%BF%9D%20zx%20%E6%80%BB%E6%98%AF%E8%A2%AB%E5%AE%89%E8%A3%85%EF%BC%8C%E5%B9%B6%E6%8E%A7%E5%88%B6%20shell%20%E8%84%9A%E6%9C%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E7%89%88%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A1%B6%E7%BA%A7%20await%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%20Node.js%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E9%A1%B6%E7%BA%A7%20await%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%20await%20%E4%BD%8D%E4%BA%8E%20async%20%E5%87%BD%E6%95%B0%E7%9A%84%E5%A4%96%E9%83%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%9C%A8%20ES%20%E6%A8%A1%E5%9D%97%E7%9A%84%E6%A8%A1%E5%BC%8F%E4%B8%8B%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%EF%BC%8C%E8%AF%A5%E6%A8%A1%E5%BC%8F%E6%94%AF%E6%8C%81%E9%A1%B6%E7%BA%A7%20await%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%20package.json%20%E4%B8%AD%E6%B7%BB%E5%8A%A0%20%26%2334%3Btype%26%2334%3B%3A%20%26%2334%3Bmodule%26%2334%3B%20%E6%80%8E%E4%B9%88%E6%80%8E%E4%B9%88%E6%9D%A5%E8%A1%A8%E6%98%8E%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%A8%A1%E5%9D%97%E9%83%BD%E6%98%AF%20ES%20%E6%A8%A1%E5%9D%97%E3%80%82%E6%88%96%E8%80%85%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%B0%86%E5%8D%95%E4%B8%AA%E8%84%9A%E6%9C%AC%E7%9A%84%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E8%AE%BE%E7%BD%AE%E4%B8%BA%20.mjs%20%E3%80%82%E5%9C%A8%E6%9C%AC%E6%96%87%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20.mjs%20%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E5%B9%B6%E6%8D%95%E8%8E%B7%E8%BE%93%E5%87%BA%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B0%86%E5%85%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world.mjs%20%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%AE%83%E5%91%8A%E8%AF%89%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%88OS%EF%BC%89%E7%9A%84%E5%86%85%E6%A0%B8%E8%A6%81%E7%94%A8%20node%20%E7%A8%8B%E5%BA%8F%E8%BF%90%E8%A1%8C%E8%AF%A5%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%BA%9B%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%BD%BF%E7%94%A8%20zx%20%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8B%E9%9D%A2%E7%9A%84%E4%BB%A3%E7%A0%81%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%20ls%20%E7%A8%8B%E5%BA%8F%E3%80%82ls%20%E7%A8%8B%E5%BA%8F%E5%B0%86%E5%88%97%E5%87%BA%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%88%E8%84%9A%E6%9C%AC%E6%89%80%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%EF%BC%89%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BB%8E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BF%9B%E7%A8%8B%E4%B8%AD%E6%8D%95%E8%8E%B7%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B0%86%E5%85%B6%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E7%84%B6%E5%90%8E%E6%89%93%E5%8D%B0%E5%88%B0%E7%BB%88%E7%AB%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cnconsole.log(output)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E6%8A%8A%2Fusr%2Fbin%2Fenv%20zx%20%E6%94%BE%E5%9C%A8%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E7%9A%84%20shebang%20%E8%A1%8C%E4%B8%AD%EF%BC%8C%E4%BD%86%E6%88%91%E4%BB%AC%E7%94%A8%2Fusr%2Fbin%2Fenv%20node%20%E4%BB%A3%E6%9B%BF%E3%80%82%E8%BF%99%E6%98%AF%E5%9B%A0%E4%B8%BA%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%20zx%EF%BC%8C%E5%B9%B6%E4%BD%9C%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E6%98%8E%E7%A1%AE%E5%9C%B0%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E6%83%B3%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%E3%80%82%E8%BF%99%E6%9C%89%E5%8A%A9%E4%BA%8E%E6%98%8E%E7%A1%AE%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E4%BE%9D%E8%B5%96%E6%9D%A5%E8%87%AA%E5%93%AA%E9%87%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%20chmod%20%E6%9D%A5%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E5%A6%82%E4%B8%8B%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%88ls%EF%BC%89%E8%A2%AB%E5%8C%85%E5%90%AB%E5%9C%A8%E8%BE%93%E5%87%BA%E4%B8%AD%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%E6%98%BE%E7%A4%BA%E4%B8%A4%E6%AC%A1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BE%93%E5%87%BA%E7%9A%84%E6%9C%AB%E5%B0%BE%E5%A4%9A%E4%BA%86%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E9%BB%98%E8%AE%A4%E4%BB%A5%20verbose%20%E6%A8%A1%E5%BC%8F%E8%BF%90%E8%A1%8C%E3%80%82%E5%AE%83%E5%B0%86%E8%BE%93%E5%87%BA%E4%BD%A0%E4%BC%A0%E9%80%92%E7%BB%99%24%E5%87%BD%E6%95%B0%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%90%8C%E6%97%B6%E4%B9%9F%E8%BE%93%E5%87%BA%E8%AF%A5%E5%91%BD%E4%BB%A4%E7%9A%84%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%E8%BF%90%E8%A1%8C%20ls%20%E5%91%BD%E4%BB%A4%E5%89%8D%E5%8A%A0%E5%85%A5%E4%BB%A5%E4%B8%8B%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E6%9D%A5%E6%94%B9%E5%8F%98%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A4%A7%E5%A4%9A%E6%95%B0%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%A6%82%20ls%EF%BC%8C%E4%BC%9A%E5%9C%A8%E5%85%B6%E8%BE%93%E5%87%BA%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E5%AD%97%E7%AC%A6%EF%BC%8C%E4%BB%A5%E4%BD%BF%E8%BE%93%E5%87%BA%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E6%9B%B4%E6%98%93%E8%AF%BB%E3%80%82%E8%BF%99%E5%AF%B9%E5%8F%AF%E8%AF%BB%E6%80%A7%E6%9C%89%E5%A5%BD%E5%A4%84%EF%BC%8C%E4%BD%86%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E8%A6%81%E5%B0%86%E8%BE%93%E5%87%BA%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E6%9C%89%E8%BF%99%E4%B8%AA%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B0%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%20JavaScript%20String%23trim()%E5%87%BD%E6%95%B0%E6%8A%8A%E5%AE%83%E5%8E%BB%E6%8E%89%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E-%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cn%2B%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout.trim()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%86%8D%E6%AC%A1%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E7%BB%93%E6%9E%9C%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%A5%BD%E5%BE%88%E5%A4%9A%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ehello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%BC%95%E5%85%A5%20TypeScript%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E6%83%B3%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%BC%96%E5%86%99%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%BE%AE%E5%B0%8F%E7%9A%84%E5%8C%BA%E5%88%AB%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%8A%A0%E4%BB%A5%E8%AF%B4%E6%98%8E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9ATypeScript%20%E7%BC%96%E8%AF%91%E5%99%A8%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E5%AE%83%E5%A6%82%E4%BD%95%E7%BC%96%E8%AF%91%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%E8%80%83%E8%99%91%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E4%B8%8B%E9%9D%A2%E7%9A%84%20TypeScript%20%E9%85%8D%E7%BD%AE%E5%92%8C%E4%BB%A3%E7%A0%81%E6%98%AF%E4%B8%BA%E4%BA%86%E5%9C%A8%E5%A4%A7%E5%A4%9A%E6%95%B0%20TypeScript%20%E7%89%88%E6%9C%AC%E4%B8%8B%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E5%AE%89%E8%A3%85%E9%9C%80%E8%A6%81%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E7%9A%84%E4%BE%9D%E8%B5%96%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Btypescript%26nbsp%3Bts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ets-node%20%E5%8C%85%E6%8F%90%E4%BE%9B%E4%BA%86%E4%B8%80%E4%B8%AA%20TypeScript%20%E6%89%A7%E8%A1%8C%E5%BC%95%E6%93%8E%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E8%83%BD%E5%A4%9F%E8%BD%AC%E8%AF%91%E5%92%8C%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%9C%80%E8%A6%81%E5%88%9B%E5%BB%BA%20tsconfig.json%20%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E4%B8%8B%E9%9D%A2%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%7B%5Cn%26%2334%3BcompilerOptions%26%2334%3B%3A%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Btarget%26%2334%3B%3A%26nbsp%3B%26%2334%3Bes2017%26%2334%3B%2C%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Bmodule%26%2334%3B%3A%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5Cn%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E6%96%B0%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B9%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world-typescript.ts%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E6%B7%BB%E5%8A%A0%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%91%8A%E8%AF%89%20OS%20%E5%86%85%E6%A0%B8%E4%BD%BF%E7%94%A8%20ts-node%20%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B.%2Fnode_modules%2F.bin%2Fts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E4%B8%AD%E4%BD%BF%E7%94%A8%20await%20%E5%85%B3%E9%94%AE%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E6%8A%8A%E5%AE%83%E5%8C%85%E8%A3%85%E5%9C%A8%E4%B8%80%E4%B8%AA%E7%AB%8B%E5%8D%B3%E8%B0%83%E7%94%A8%E5%87%BD%E6%95%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%EF%BC%88IIFE%EF%BC%89%E4%B8%AD%EF%BC%8C%E6%AD%A3%E5%A6%82%20zx%20%E6%96%87%E6%A1%A3%E6%89%80%E5%BB%BA%E8%AE%AE%E7%9A%84%E9%82%A3%E6%A0%B7%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world-typescript.ts%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnvoid%26nbsp%3B(async%26nbsp%3Bfunction%26nbsp%3B()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60ls%60%3B%5Cn%7D)()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E9%9C%80%E8%A6%81%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E4%B8%8B%E9%9D%A2%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world-typescript.ts%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cntsconfig.json%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%E8%84%9A%E6%9C%AC%E4%B8%8E%E4%BD%BF%E7%94%A8%20JavaScript%20%E7%9B%B8%E4%BC%BC%EF%BC%8C%E4%BD%86%E9%9C%80%E8%A6%81%E5%AF%B9%E6%88%91%E4%BB%AC%E7%9A%84%E4%BB%A3%E7%A0%81%E8%BF%9B%E8%A1%8C%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E9%85%8D%E7%BD%AE%E5%92%8C%E5%8C%85%E8%A3%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%9E%84%E5%BB%BA%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E7%94%A8%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AF%86%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E7%94%A8%E5%AE%83%E6%9D%A5%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B7%A5%E5%85%B7%E3%80%82%E8%BF%99%E4%B8%AA%E5%B7%A5%E5%85%B7%E5%B0%86%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E9%80%9A%E5%B8%B8%E5%BE%88%E8%80%97%E6%97%B6%E7%9A%84%E8%BF%87%E7%A8%8B%EF%BC%9A%E4%B8%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E7%9A%84%E9%85%8D%E7%BD%AE%E6%8F%90%E4%BE%9B%E5%BC%95%E5%AF%BC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BA%A4%E4%BA%92%E5%BC%8F%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E3%80%82%E5%AE%83%E8%BF%98%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E5%86%85%E7%BD%AE%E7%9A%84%20chalk%20%E5%BA%93%EF%BC%8C%E4%BB%A5%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A2%9C%E8%89%B2%E9%AB%98%E4%BA%AE%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B9%B6%E6%8F%90%E4%BE%9B%E4%B8%80%E4%B8%AA%E5%8F%8B%E5%A5%BD%E7%9A%84%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C%E3%80%82%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E8%BF%98%E5%B0%86%E5%AE%89%E8%A3%85%E6%96%B0%E9%A1%B9%E7%9B%AE%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%EF%BC%8C%E6%89%80%E4%BB%A5%E5%AE%83%E5%B7%B2%E7%BB%8F%E5%87%86%E5%A4%87%E5%A5%BD%E8%AE%A9%E6%88%91%E4%BB%AC%E7%AB%8B%E5%8D%B3%E5%BC%80%E5%A7%8B%E5%BC%80%E5%8F%91%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%87%86%E5%A4%87%E5%BC%80%E5%A7%8B%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%90%8D%E4%B8%BA%20bootstrap-tool.mjs%20%E7%9A%84%E6%96%B0%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B9%B6%E6%B7%BB%E5%8A%A0%20shebang%20%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E6%A8%A1%E5%9D%97%EF%BC%8C%E4%BB%A5%E5%8F%8A%20Node.js%20%E6%A0%B8%E5%BF%83%20path%20%E6%A8%A1%E5%9D%97%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%2F%2F%26nbsp%3Bbootstrap-tool.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%2C%26nbsp%3Bargv%2C%26nbsp%3Bcd%2C%26nbsp%3Bchalk%2C%26nbsp%3Bfs%2C%26nbsp%3Bquestion%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnimport%26nbsp%3Bpath%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bpath%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8E%E6%88%91%E4%BB%AC%E4%B9%8B%E5%89%8D%E5%88%9B%E5%BB%BA%E7%9A%84%E8%84%9A%E6%9C%AC%E4%B8%80%E6%A0%B7%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bbootstrap-tool.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E7%94%A8%E7%BA%A2%E8%89%B2%E6%96%87%E6%9C%AC%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%EF%BC%8C%E5%B9%B6%E4%BB%A5%E9%94%99%E8%AF%AF%E9%80%80%E5%87%BA%E4%BB%A3%E7%A0%81%201%20%E9%80%80%E5%87%BA%20Node.js%20%E8%BF%9B%E7%A8%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Efunction%26nbsp%3BexitWithError(errorMessage)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconsole.error(chalk.red(errorMessage))%3B%5Cn%26nbsp%3B%26nbsp%3Bprocess.exit(1)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BD%93%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%A4%84%E7%90%86%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E9%80%9A%E8%BF%87%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%9C%A8%E5%90%84%E4%B8%AA%E5%9C%B0%E6%96%B9%E4%BD%BF%E7%94%A8%E8%BF%99%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%E4%B8%89%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%9Agit%E3%80%81node%20%E5%92%8C%20npx%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20which%20%E5%BA%93%E6%9D%A5%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E6%A3%80%E6%9F%A5%E8%BF%99%E4%BA%9B%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%E5%B9%B6%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20which%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bwhich%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%BC%95%E5%85%A5%E5%AE%83%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3Bwhich%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bwhich%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BD%BF%E7%94%A8%E5%AE%83%E7%9A%84%20checkRequiredProgramsExist%20%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckRequiredProgramsExist(programs)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3Bprogram%26nbsp%3Bof%26nbsp%3Bprograms)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bwhich(program)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BRequired%26nbsp%3Bcommand%26nbsp%3B%24%7Berror.message%7D%60)%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%90%8D%E7%A7%B0%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%95%B0%E7%BB%84%EF%BC%8C%E5%AF%B9%E6%AF%8F%E4%B8%AA%E7%A8%8B%E5%BA%8F%E8%B0%83%E7%94%A8%20which%20%E5%87%BD%E6%95%B0%E3%80%82%E5%A6%82%E6%9E%9C%20which%20%E6%89%BE%E5%88%B0%E4%BA%86%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%B7%AF%E5%BE%84%EF%BC%8C%E5%AE%83%E5%B0%86%E8%BF%94%E5%9B%9E%E8%AF%A5%E7%A8%8B%E5%BA%8F%E3%80%82%E5%90%A6%E5%88%99%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%AF%A5%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E6%8A%9B%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E3%80%82%E5%A6%82%E6%9E%9C%E6%9C%89%E4%BB%BB%E4%BD%95%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E8%B0%83%E7%94%A8%20exitWithError%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%E5%B9%B6%E5%81%9C%E6%AD%A2%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%8F%AF%E4%BB%A5%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%AF%B9%20checkRequiredProgramsExist%20%E7%9A%84%E8%B0%83%E7%94%A8%EF%BC%8C%E4%BB%A5%E6%A3%80%E6%9F%A5%E6%88%91%E4%BB%AC%E7%9A%84%E5%B7%A5%E5%85%B7%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%8F%AF%E7%94%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckRequiredProgramsExist(%5B%26%2334%3Bgit%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnode%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnpx%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%B7%BB%E5%8A%A0%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E9%80%89%E9%A1%B9%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%B0%86%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E5%90%AF%E5%8A%A8%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%88%91%E4%BB%AC%E5%B8%8C%E6%9C%9B%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9A%84%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E3%80%82%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E8%A6%81%E7%BB%99%E8%84%9A%E6%9C%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20--directory%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E5%86%85%E7%BD%AE%E4%BA%86%20minimist%20%E5%8C%85%EF%BC%8C%E5%AE%83%E8%83%BD%E5%A4%9F%E8%A7%A3%E6%9E%90%E4%BC%A0%E9%80%92%E7%BB%99%E8%84%9A%E6%9C%AC%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%E8%BF%99%E4%BA%9B%E8%A2%AB%E8%A7%A3%E6%9E%90%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E8%A2%AB%20zx%20%E5%8C%85%E4%BD%9C%E4%B8%BA%20argv%20%E6%8F%90%E4%BE%9B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E5%90%8D%E4%B8%BA%20directory%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E6%A3%80%E6%9F%A5%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Elet%26nbsp%3BtargetDirectory%26nbsp%3B%3D%26nbsp%3Bargv.directory%3B%5Cnif%26nbsp%3B(!targetDirectory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%26%2334%3BError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%26%2334%3B)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%20directory%20%E5%8F%82%E6%95%B0%E8%A2%AB%E4%BC%A0%E9%80%92%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%E5%AE%83%E6%98%AF%E5%90%A6%E6%98%AF%E5%B7%B2%E7%BB%8F%E5%AD%98%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%E7%9A%84%E8%B7%AF%E5%BE%84%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%8F%90%E4%BE%9B%E7%9A%84%20fs.pathExists%20%E6%96%B9%E6%B3%95%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3EtargetDirectory%26nbsp%3B%3D%26nbsp%3Bpath.resolve(targetDirectory)%3B%5Cnif%26nbsp%3B(!(await%26nbsp%3Bfs.pathExists(targetDirectory)))%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BTarget%26nbsp%3Bdirectory%26nbsp%3B%26%2339%3B%24%7BtargetDirectory%7D%26%2339%3B%26nbsp%3Bdoes%26nbsp%3Bnot%26nbsp%3Bexist%60)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E8%B7%AF%E5%BE%84%E5%AD%98%E5%9C%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%20cd%20%E5%87%BD%E6%95%B0%E6%9D%A5%E5%88%87%E6%8D%A2%E5%BD%93%E5%89%8D%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%9A%E2%80%8D%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ecd(targetDirectory)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%9C%A8%E6%B2%A1%E6%9C%89--directory%20%E5%8F%82%E6%95%B0%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E5%BA%94%E8%AF%A5%E4%BC%9A%E6%94%B6%E5%88%B0%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3B.%2Fbootstrap-tool.mjs%5CnError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E5%85%A8%E5%B1%80%20Git%20%E8%AE%BE%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%A8%8D%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%8C%E4%BD%86%E9%A6%96%E5%85%88%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%20Git%20%E6%98%AF%E5%90%A6%E6%9C%89%E5%AE%83%E9%9C%80%E8%A6%81%E7%9A%84%E9%85%8D%E7%BD%AE%E3%80%82%E6%88%91%E4%BB%AC%E8%A6%81%E7%A1%AE%E4%BF%9D%E6%8F%90%E4%BA%A4%E4%BC%9A%E8%A2%AB%20GitHub%20%E7%AD%89%E4%BB%A3%E7%A0%81%E6%89%98%E7%AE%A1%E6%9C%8D%E5%8A%A1%E6%AD%A3%E7%A1%AE%E5%BD%92%E7%B1%BB%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%81%9A%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E8%BF%99%E9%87%8C%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E7%B4%A2%20Git%20%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%E7%9A%84%E5%80%BC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetGlobalGitSettingValue(settingName)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B%26%2334%3B%26%2334%3B%3B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60git%26nbsp%3Bconfig%26nbsp%3B--global%26nbsp%3B--get%26nbsp%3B%24%7BsettingName%7D%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B).stdout.trim()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%2F%2F%26nbsp%3BIgnore%26nbsp%3Bprocess%26nbsp%3Boutput%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BsettingValue%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E5%85%B3%E9%97%AD%20zx%20%E9%BB%98%E8%AE%A4%E8%AE%BE%E7%BD%AE%E7%9A%84%20verbose%20%E6%A8%A1%E5%BC%8F%E3%80%82%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%EF%BC%8C%E5%BD%93%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%97%B6%EF%BC%8C%E8%AF%A5%E5%91%BD%E4%BB%A4%E5%92%8C%E5%AE%83%E5%8F%91%E9%80%81%E5%88%B0%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E7%9A%84%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9%E9%83%BD%E4%B8%8D%E4%BC%9A%E8%A2%AB%E6%98%BE%E7%A4%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%9C%A8%E5%87%BD%E6%95%B0%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E5%B0%86%20verbose%20%E6%A8%A1%E5%BC%8F%E9%87%8D%E6%96%B0%E6%89%93%E5%BC%80%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E5%BD%B1%E5%93%8D%E5%88%B0%E6%88%91%E4%BB%AC%E7%A8%8D%E5%90%8E%E5%9C%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%85%B6%E4%BB%96%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%20checkGlobalGitSettings%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A5%E5%87%BD%E6%95%B0%E6%8E%A5%E6%94%B6%20Git%20%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%E7%BB%84%E6%88%90%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%B0%86%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%AF%8F%E4%B8%AA%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E4%BC%A0%E9%80%92%E7%BB%99%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E4%BB%A5%E6%A3%80%E7%B4%A2%E5%85%B6%E5%80%BC%E3%80%82%E5%A6%82%E6%9E%9C%E8%AE%BE%E7%BD%AE%E6%B2%A1%E6%9C%89%E5%80%BC%EF%BC%8C%E5%B0%86%E6%98%BE%E7%A4%BA%E8%AD%A6%E5%91%8A%E4%BF%A1%E6%81%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckGlobalGitSettings(settingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3BsettingName%26nbsp%3Bof%26nbsp%3BsettingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetGlobalGitSettingValue(settingName)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!settingValue)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.warn(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.yellow(%60Warning%3A%26nbsp%3BGlobal%26nbsp%3Bgit%26nbsp%3Bsetting%26nbsp%3B%26%2339%3B%24%7BsettingName%7D%26%2339%3B%26nbsp%3Bis%26nbsp%3Bnot%26nbsp%3Bset.%60)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E7%BB%99%20checkGlobalGitSettings%20%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E8%B0%83%E7%94%A8%EF%BC%8C%E6%A3%80%E6%9F%A5%20user.name%20%E5%92%8C%20user.email%20%E7%9A%84%20Git%20%E8%AE%BE%E7%BD%AE%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E8%A2%AB%E8%AE%BE%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckGlobalGitSettings(%5B%26%2334%3Buser.name%26%2334%3B%2C%26nbsp%3B%26%2334%3Buser.email%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%88%9D%E5%A7%8B%E5%8C%96%20Git%20%E4%BB%93%E5%BA%93%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E6%B7%BB%E5%8A%A0%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Binit%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20package.json%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%AF%8F%E4%B8%AA%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%83%BD%E9%9C%80%E8%A6%81%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E8%BF%99%E6%98%AF%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E5%AE%9A%E4%B9%89%E5%85%83%E6%95%B0%E6%8D%AE%E7%9A%84%E5%9C%B0%E6%96%B9%EF%BC%8C%E6%8C%87%E5%AE%9A%E9%A1%B9%E7%9B%AE%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E5%8C%85%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%B7%BB%E5%8A%A0%E5%AE%9E%E7%94%A8%E7%9A%84%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%94%9F%E6%88%90%20package.json%20%E6%96%87%E4%BB%B6%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E5%87%A0%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%98%AF%20readPackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%AF%BB%E5%8F%96%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BreadPackageJson(directory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3Bfs.readJSON(packageJsonFilepath)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20writePackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E5%90%91%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E5%86%99%E5%85%A5%E6%9B%B4%E6%94%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BwritePackageJson(directory%2C%26nbsp%3Bcontents)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bfs.writeJSON(packageJsonFilepath%2C%26nbsp%3Bcontents%2C%26nbsp%3B%7B%26nbsp%3Bspaces%3A%26nbsp%3B2%26nbsp%3B%7D)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%20fs.readJSON%20%E5%92%8C%20fs.writeJSON%20%E6%96%B9%E6%B3%95%E6%98%AF%E7%94%B1%20fs-extra%20%E5%BA%93%E6%8F%90%E4%BE%9B%E7%9A%84%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E5%AE%9A%E4%B9%89%E4%BA%86%20package.json%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%BC%80%E5%A7%8B%E8%80%83%E8%99%91%20package.json%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E6%94%AF%E6%8C%81%E4%B8%A4%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ECommonJS%20Modules%20(CJS)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DKTweLvts6a1zOlUbn0cnCA%253D%253D.WRSoJ3t37Y2GYjanjStt81N%252BkCOGoR11gK8pv6Fck09uaKTSXHq5mvMcWutIRxYU%3C%2Fspan%3E%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%BF%E7%94%A8%20module.exports%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20require()%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EECMAScript%20Modules%20(ESM)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DOUbF%252BkjeOpAlt3Fo9PFGFw%253D%253D.Ex%252BQVnop7rVNKtYxrnp%252Fhcm08eFRE7K2XLUBlFFQ7D4%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%BD%BF%E7%94%A8%20export%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20import%20%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E7%94%9F%E6%80%81%E7%B3%BB%E7%BB%9F%E6%AD%A3%E5%9C%A8%E9%80%90%E6%AD%A5%E9%87%87%E7%94%A8%20ES%20%E6%A8%A1%E5%9D%97%EF%BC%8C%E8%BF%99%E5%9C%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%20JavaScript%20%E4%B8%AD%E6%98%AF%E5%BE%88%E5%B8%B8%E8%A7%81%E7%9A%84%E3%80%82%E5%BD%93%E4%BA%8B%E6%83%85%E5%A4%84%E4%BA%8E%E8%BF%87%E6%B8%A1%E9%98%B6%E6%AE%B5%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%86%B3%E5%AE%9A%E6%88%91%E4%BB%AC%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%BB%98%E8%AE%A4%E4%BD%BF%E7%94%A8%20CJS%20%E6%A8%A1%E5%9D%97%E8%BF%98%E6%98%AF%20ESM%20%E6%A8%A1%E5%9D%97%E3%80%82%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%BF%99%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForModuleSystem(moduleSystems)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Which%26nbsp%3BNode.js%26nbsp%3Bmodule%26nbsp%3Bsystem%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Buse%3F%26nbsp%3B(%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26nbsp%3Bor%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D)%26nbsp%3B%60%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchoices%3A%26nbsp%3BmoduleSystems%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BmoduleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E5%87%BD%E6%95%B0%E4%BD%BF%E7%94%A8%E7%9A%84%20question%20%E5%87%BD%E6%95%B0%E7%94%B1%20zx%20%E6%8F%90%E4%BE%9B%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getNodeModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E8%B0%83%E7%94%A8%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E6%A3%80%E6%9F%A5%E6%89%80%E8%BE%93%E5%85%A5%E7%9A%84%E5%80%BC%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%8D%E6%98%AF%EF%BC%8C%E5%AE%83%E5%B0%86%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetNodeModuleSystem()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystems%26nbsp%3B%3D%26nbsp%3B%5B%26%2334%3Bmodule%26%2334%3B%2C%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForModuleSystem(moduleSystems)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BisValidModuleSystem%26nbsp%3B%3D%26nbsp%3BmoduleSystems.includes(selectedModuleSystem)%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!isValidModuleSystem)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BModule%26nbsp%3Bsystem%26nbsp%3Bmust%26nbsp%3Bbe%26nbsp%3Beither%26nbsp%3B%26%2339%3B%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26%2339%3B%26nbsp%3Bor%26nbsp%3B%26%2339%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%26%2339%3B%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BselectedModuleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E8%BF%90%E8%A1%8C%20npm%20init%20%E5%91%BD%E4%BB%A4%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npm%26nbsp%3Binit%26nbsp%3B--yes%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E8%AF%BB%E5%8F%96%E6%96%B0%E5%88%9B%E5%BB%BA%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E8%AF%A2%E9%97%AE%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%B3%BB%E7%BB%9F%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA%20packageJson%20%E5%AF%B9%E8%B1%A1%E4%B8%AD%E7%9A%84%20type%20%E5%B1%9E%E6%80%A7%E5%80%BC%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%E5%85%B6%E5%86%99%E5%9B%9E%E5%88%B0%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackageJson%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5CnpackageJson.type%26nbsp%3B%3D%26nbsp%3BselectedModuleSystem%3B%5Cnawait%26nbsp%3BwritePackageJson(targetDirectory%2C%26nbsp%3BpackageJson)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%8F%90%E7%A4%BA%EF%BC%9A%E5%BD%93%E4%BD%A0%E7%94%A8--yes%20%E6%A0%87%E5%BF%97%E8%BF%90%E8%A1%8C%20npm%20init%20%E6%97%B6%EF%BC%8C%E8%A6%81%E6%83%B3%E5%9C%A8%20package.json%20%E4%B8%AD%E8%8E%B7%E5%BE%97%E5%90%88%E7%90%86%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%EF%BC%8C%E8%AF%B7%E7%A1%AE%E4%BF%9D%E4%BD%A0%E8%AE%BE%E7%BD%AE%E4%BA%86%20npminit-*%E7%9A%84%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DX0aVKO8sVtj0bgZhFmgjVw%253D%253D.hxYbJxX5X2odlcPpk5MdIVLkT7ESAsFMhFnFSRBftI2c2BjNTUCtV1gwdXnpxWGI%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E9%A1%B9%E7%9B%AE%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E4%BD%BF%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E5%90%8E%E8%83%BD%E5%A4%9F%E8%BD%BB%E6%9D%BE%E5%9C%B0%E5%BC%80%E5%A7%8B%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForPackages%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E5%93%AA%E4%BA%9B%20npm%20%E5%8C%85%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForPackages()%26nbsp%3B%7B%5Cnlet%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3BWhich%26nbsp%3Bnpm%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Binstall%26nbsp%3Bfor%26nbsp%3Bthis%26nbsp%3Bproject%3F%26nbsp%3B%26%2334%3B%5Cn)%3B%5CnpackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall%5Cn%26nbsp%3B%26nbsp%3B.trim()%5Cn%26nbsp%3B%26nbsp%3B.split(%26%2334%3B%26nbsp%3B%26%2334%3B)%5Cn%26nbsp%3B%26nbsp%3B.filter((pkg)%26nbsp%3B%3D%26gt%3B%26nbsp%3Bpkg)%3B%5Cnreturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E9%98%B2%E6%AD%A2%E6%88%91%E4%BB%AC%E5%9C%A8%E8%BE%93%E5%85%A5%E5%8C%85%E5%90%8D%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E5%88%AB%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20identifyInvalidNpmPackages%20%E5%87%BD%E6%95%B0%E3%80%82%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E5%B0%86%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%20npm%20%E5%8C%85%E5%90%8D%E6%95%B0%E7%BB%84%EF%BC%8C%E7%84%B6%E5%90%8E%E8%BF%90%E8%A1%8C%20npm%20view%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E6%9F%A5%E5%AE%83%E4%BB%AC%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BidentifyInvalidNpmPackages(packages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3B%5B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(const%26nbsp%3Bpkg%26nbsp%3Bof%26nbsp%3Bpackages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Bview%26nbsp%3B%24%7Bpkg%7D%60%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BinvalidPackages.push(pkg)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BinvalidPackages%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getPackagesToInstall%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E5%88%9A%E5%88%9A%E5%88%9B%E5%BB%BA%E7%9A%84%E4%B8%A4%E4%B8%AA%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetPackagesToInstall()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForPackages()%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BidentifyInvalidNpmPackages(packagesToInstall)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BallPackagesExist%26nbsp%3B%3D%26nbsp%3BinvalidPackages.length%26nbsp%3B%3D%3D%3D%26nbsp%3B0%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!allPackagesExist)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BThe%26nbsp%3Bfollowing%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Bnot%26nbsp%3Bexist%26nbsp%3Bon%26nbsp%3Bnpm%3A%26nbsp%3B%24%7BinvalidPackages.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%2C%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%9C%89%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%90%8D%E7%A7%B0%E4%B8%8D%E6%AD%A3%E7%A1%AE%EF%BC%8C%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E6%97%A6%E6%88%91%E4%BB%AC%E5%BE%97%E5%88%B0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E6%9C%89%E6%95%88%E5%8C%85%E5%88%97%E8%A1%A8%EF%BC%8C%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20npm%20install%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E5%AE%89%E8%A3%85%E5%AE%83%E4%BB%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cnconst%26nbsp%3BhavePackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall.length%26nbsp%3B%26gt%3B%26nbsp%3B0%3B%5Cnif%26nbsp%3B(havePackagesToInstall)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Binstall%26nbsp%3B%24%7BpackagesToInstall%7D%60%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E4%B8%BA%E5%B7%A5%E5%85%B7%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE%E6%98%AF%E6%88%91%E4%BB%AC%E7%94%A8%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E7%9A%84%E6%9C%80%E4%BD%B3%E4%BA%8B%E9%A1%B9%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA.gitignore%20%E6%96%87%E4%BB%B6%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E6%84%8F%E5%A4%96%E5%9C%B0%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E5%9C%A8%20Git%20%E4%BB%93%E5%BA%93%E4%B8%AD%E5%87%BA%E7%8E%B0%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bgitignore%26nbsp%3Bnode%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8%20gitignore%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DV%252FIoxipE2WxmNECDRNKMqg%253D%253D.7Y4d34n%252BoUVlJkYEiJt3NLa9RHn2pYtKq%252BHpO67HIQjfjKAHIxcMynZzTudktHaV%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E5%8C%85%EF%BC%8C%E4%BB%8E%20GitHub%20%E7%9A%84%20gitignore%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3E%20https%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DSzh56TKqT6gYmrJidM7ZXg%253D%253D.BK7Vf5F73GaplJKeN48OsobM6U4EPriatZOr3dBhsSVZIuIUiktyqfS1jhLLtQ7o%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E6%A8%A1%E6%9D%BF%E4%B8%AD%E6%8B%89%E5%8F%96%20Node.js%20%E7%9A%84.gitignore%20%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E7%9A%84%20EditorConfig%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DdGD5%252BEyCTqLfqDSif7%252FHgQ%253D%253D.xgNWBjR6m%252FIUFlG1UmM3CYX2R%252BLXFN531lZhlvCRRWs%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%81Prettier%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3Dn7clHFqLMZZala0zu1JjdQ%253D%253D.jivAg4cL8HkSAhuurMUHrlfhGGILOpveTQR0rjCRXyg%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%92%8C%20ESLint%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DJ4jXEAmmBQ83%252FWSrOtTsAQ%253D%253D.b%252FKC0kT%252FZWZQ9KBItXDMQHWJBzc5aW9hUZsxWHBsMY4%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E4%B8%80%E4%B8%AA%E5%8F%AB%E5%81%9A%20Mrm%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E7%9A%84%20mrm%20%E4%BE%9D%E8%B5%96%E9%A1%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--global%26nbsp%3Bmrm%26nbsp%3Bmrm-task-editorconfig%26nbsp%3Bmrm-task-prettier%26nbsp%3Bmrm-task-eslint%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%B7%BB%E5%8A%A0%20mrm%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beditorconfig%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Bprettier%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beslint%60%3B%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EMrm%20%E8%B4%9F%E8%B4%A3%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%E3%80%82%E5%AE%83%E8%BF%98%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E7%94%9F%E6%88%90%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BB%A5%E7%AC%A6%E5%90%88%E6%88%91%E4%BB%AC%E7%9A%84%E4%B8%AA%E4%BA%BA%E5%81%8F%E5%A5%BD%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20README%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E7%9A%84%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%E8%AF%BB%E5%8F%96%E9%A1%B9%E7%9B%AE%E5%90%8D%E7%A7%B0%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA%E5%9F%BA%E6%9C%AC%E7%9A%84%20Markdown%20%E6%A0%BC%E5%BC%8F%E7%9A%84%20README%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E5%86%99%E5%85%A5%20README.md%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3B%7B%26nbsp%3Bname%3A%26nbsp%3BprojectName%26nbsp%3B%7D%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BreadmeContents%26nbsp%3B%3D%26nbsp%3B%60%23%26nbsp%3B%24%7BprojectName%7D%5Cn...%5Cn%60%3B%5Cnawait%26nbsp%3Bfs.writeFile(%60%24%7BtargetDirectory%7D%2FREADME.md%60%2C%26nbsp%3BreadmeContents)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%9A%B4%E9%9C%B2%E7%9A%84%20fs.writeFile%20%E7%9A%84%20promise%20%E5%8F%98%E9%87%8F%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%8F%90%E4%BA%A4%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%80%E5%90%8E%EF%BC%8C%E6%98%AF%E6%97%B6%E5%80%99%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E7%94%A8%20git%20%E5%88%9B%E5%BB%BA%E7%9A%84%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%E4%BA%86%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Badd%26nbsp%3B.%60%3B%5Cnawait%26nbsp%3B%24%60git%26nbsp%3Bcommit%26nbsp%3B-m%26nbsp%3B%26%2334%3BAdd%26nbsp%3Bproject%26nbsp%3Bskeleton%26%2334%3B%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E6%9D%A1%E6%B6%88%E6%81%AF%EF%BC%8C%E7%A1%AE%E8%AE%A4%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B7%B2%E7%BB%8F%E6%88%90%E5%8A%9F%E5%90%AF%E5%8A%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econsole.log(%5Cn%26nbsp%3B%26nbsp%3Bchalk.green(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60%5C%5Cn%E2%9C%94%EF%B8%8F%26nbsp%3BThe%26nbsp%3Bproject%26nbsp%3B%24%7BprojectName%7D%26nbsp%3Bhas%26nbsp%3Bbeen%26nbsp%3Bsuccessfully%26nbsp%3Bbootstrapped!%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B)%5Cn)%3B%5Cnconsole.log(chalk.green(%60Add%26nbsp%3Ba%26nbsp%3Bgit%26nbsp%3Bremote%26nbsp%3Band%26nbsp%3Bpush%26nbsp%3Byour%26nbsp%3Bchanges.%60))%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%90%AF%E5%8A%A8%E6%96%B0%E9%A1%B9%E7%9B%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bnew-project%5Cn.%2Fbootstrap-tool.mjs%26nbsp%3B--directory%26nbsp%3Bnew-project%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%B9%B6%E8%A7%82%E7%9C%8B%E6%88%91%E4%BB%AC%E6%89%80%E5%81%9A%E7%9A%84%E4%B8%80%E5%88%87%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%80%BB%E7%BB%93%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E5%A6%82%E4%BD%95%E5%9C%A8%20Node.js%20%E4%B8%AD%E5%80%9F%E5%8A%A9%20Google%20%E7%9A%84%20zx%20%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E5%BC%BA%E5%A4%A7%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E4%BA%86%E5%AE%83%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%92%8C%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%81%B5%E6%B4%BB%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%B0%E7%9B%AE%E5%89%8D%E4%B8%BA%E6%AD%A2%EF%BC%8C%E6%88%91%E4%BB%AC%E6%89%80%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%8F%AA%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BC%80%E5%A7%8B%E3%80%82%E8%BF%99%E9%87%8C%E6%9C%89%E4%B8%80%E4%BA%9B%E5%8A%9F%E8%83%BD%E7%82%B9%E5%AD%90%EF%BC%8C%E4%BD%A0%E5%8F%AF%E8%83%BD%E6%83%B3%E5%B0%9D%E8%AF%95%E8%87%AA%E5%B7%B1%E6%B7%BB%E5%8A%A0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E3%80%82%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E8%BF%98%E4%B8%8D%E5%AD%98%E5%9C%A8%EF%BC%8C%E5%88%99%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E5%B9%B6%E8%AF%A2%E9%97%AE%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E6%83%B3%E8%A6%81%E4%B8%BA%E4%BB%96%E4%BB%AC%E5%88%9B%E5%BB%BA%E8%AF%A5%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BC%80%E6%BA%90%E5%8D%AB%E7%94%9F%E3%80%82%E9%97%AE%E9%97%AE%E7%94%A8%E6%88%B7%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E5%9C%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B0%86%E6%98%AF%E5%BC%80%E6%BA%90%E7%9A%84%E9%A1%B9%E7%9B%AE%E3%80%82%E5%A6%82%E6%9E%9C%E6%98%AF%E7%9A%84%E8%AF%9D%EF%BC%8C%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E8%AE%B8%E5%8F%AF%E8%AF%81%E5%92%8C%E8%B4%A1%E7%8C%AE%E8%80%85%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%20GitHub%20%E4%B8%8A%E7%9A%84%E4%BB%93%E5%BA%93%E3%80%82%E6%B7%BB%E5%8A%A0%E4%BD%BF%E7%94%A8%20GitHub%20CLI%20%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%9C%A8%20GitHub%20%E4%B8%8A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E3%80%82%E4%B8%80%E6%97%A6%E7%94%A8%20Git%20%E6%8F%90%E4%BA%A4%E4%BA%86%E5%88%9D%E5%A7%8B%E9%AA%A8%E6%9E%B6%EF%BC%8C%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E6%8E%A8%E9%80%81%E5%88%B0%E8%BF%99%E4%B8%AA%E4%BB%93%E5%BA%93%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E5%9C%A8%20GitHub%20%E4%B8%8A%E6%89%BE%E5%88%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E8%AF%91%E8%87%AA%EF%BC%9A%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5Z%252ByLQNgua%252FY5gnguxXllg%253D%253D.SeNINYETng%252BH6uZupDjhsYNRqM5GWB5jXVDlvMdMqsO9u3CmWfwe8DwT48iAvK%252Fsm8pflQ8jbxHc1sB281%252B6pA%253D%253D%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%9C%E8%80%85%EF%BC%9A%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3ESimon%20Plenderleith%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BB%A5%E4%B8%8A%E5%B0%B1%E6%98%AF%E6%9C%AC%E6%96%87%E7%9A%84%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9%E3%80%82%E5%A6%82%E6%9E%9C%E5%AF%B9%E4%BD%A0%E6%9C%89%E6%89%80%E5%B8%AE%E5%8A%A9%EF%BC%8C%E6%AC%A2%E8%BF%8E%E7%82%B9%E8%B5%9E%E3%80%81%E6%94%B6%E8%97%8F%E3%80%81%E8%BD%AC%E5%8F%91~%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Chr%3E%22%2C%22imageList%22%3A%5B%5D%2C%22mediaInfo%22%3A%7B%22userId%22%3A%22MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH%22%2C%22unsafeUserId%22%3A%224288553596503552%22%2C%22name%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22avatarUrl%22%3A%22https%3A%2F%2Fsf3-cdn-tos.toutiaostatic.com%2Fimg%2Fuser-avatar%2Fc14bb151d3505084033c82ee8238acde~300x300.image%22%2C%22description%22%3A%22%E6%AC%A2%E8%BF%8E%E5%85%B3%E6%B3%A8VX%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22userVerified%22%3A1%7D%2C%22seoTDK%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC-%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1%22%2C%22description%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22keywords%22%3A%22%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%2CNode.js%2CGoogle%2CJavaScript%2CBash%2CTypeScript%2CZsh%2CGitHub%2C%E7%BE%8E%E5%A5%BD%EF%BC%8C%E4%B8%80%E7%9B%B4%E5%9C%A8%E8%BA%AB%E8%BE%B9%22%2C%22publishTimestamp%22%3A%221678237205%22%2C%22modifiedTimestamp%22%3A%221685548306%22%7D%2C%22cover%22%3A%22https%3A%2F%2Fp3-sign.toutiaoimg.com%2Flarge%2Ftos-cn-i-qvj2lq49k0%2F7894dd4439eb4e78ad35208f496e841a%3F_iz%3D58558%26from%3Darticle.pc_detail%26x-expires%3D1690103402%26x-signature%3D5z%252FNWR2V4o%252B5W0fhczXkGuaSyYE%253D%22%2C%22logId%22%3A%222023071617100290B65219A60FE2C10ABA%22%2C%22sylpageConfig%22%3A%7B%22card%22%3A%7B%22id%22%3A%22%22%7D%7D%2C%22identity%22%3A%7B%22web_id%22%3A%227235169635611018810%22%2C%22user_is_login%22%3Afalse%7D%2C%22abtestInfo%22%3A%7B%22rsp_type%22%3A5%2C%22version_name%22%3A%224938400%22%2C%22parameters%22%3A%7B%22filter%22%3A%7B%22debug_enable_pc_small_video%22%3Afalse%2C%22enable_pc_small_video%22%3Atrue%7D%2C%22home_nav_conf%22%3A%7B%22dcd_out%22%3A1%7D%2C%22optimus%22%3A%7B%22rule_rank_rules%22%3A%22ranking_rule_list%20%7B%5Cn%20%20id%3A%201221233%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2212123%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%202%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%2020458%5Cn%20%20priority%3A%203%5Cn%20%20enabled%3A%20true%5Cn%20%20category%3A%2020458%5Cn%20%20type%3A%20WINDOW%5Cn%20%20window_rule%20%7B%5Cn%20%20%20%20type%3A%20SLIDE%5Cn%20%20%20%20size%3A%203%5Cn%20%20%20%20max%3A%201%5Cn%20%20%7D%5Cn%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%201111024%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2211024%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%206%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%22%7D%2C%22page_upgrade%22%3A%7B%22new_profile%22%3Atrue%2C%22video_double_column%22%3Atrue%7D%2C%22recall%22%3A%7B%22debug_filter_reason_list%22%3A%5B%5D%2C%22debug_recall_reason_list%22%3A%5B70%2C71%2C72%2C73%2C80%2C83%5D%2C%22enable_debug_filter_reason%22%3Atrue%2C%22enable_debug_recall_reason%22%3Atrue%2C%22friend_feed%22%3A%7B%22control_nums%22%3A1500%2C%22count%22%3A1000%2C%22enable%22%3Atrue%2C%22enable_cpp_friend_feed%22%3Atrue%2C%22enable_friend_feed_container_filter%22%3Atrue%2C%22enable_group_status_filter%22%3Atrue%2C%22params%22%3A%7B%7D%2C%22top_k%22%3A10%2C%22use_new_friend_recall%22%3Atrue%2C%22valid_group_source%22%3A%5B2%2C5%2C15%2C23%2C16%2C19%2C21%2C132%5D%2C%22weight%22%3A20%7D%7D%2C%22seraph%22%3A%7B%22rule_rank_rules_pc_small%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20%20%20%20%20%20id%3A%2022124%20%5Cn%20%20%20%20%20%20%20%20%20priority%3A%200%20%5Cn%20%20%20%20%20%20%20%20%20tags%3A%20%5C%2222124%5C%22%20%5Cn%20%20%20%20%20%20%20%20%20enabled%3A%20true%20%5Cn%20%20%20%20%20%20%20%20%20type%3A%20CARD%20%5Cn%20%20%20%20%20%20%20%20%20card_rule%20%7B%20%5Cn%20%20%20%20%20%20%20%20%20size%3A%206%20%5Cn%20%20%20%20%20%20%20%20%20num_cards%3A%201%5Cn%20%20%20%20%20%20%20%20%20type%3A%20SAME_SLOT%20%5Cn%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%22%2C%22rule_rank_rules_pc_small_window%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20id%3A%20222124%5Cn%20%20%20priority%3A%200%5Cn%20%20%20tags%3A%20%5C%2222124%5C%22%5Cn%20%20%20%20enabled%3A%20false%5Cn%20%20%20%20type%3A%20WINDOW%5Cn%20%20%20%20window_rule%20%7B%5Cn%20%20%20type%3A%20SLIDE%20%5Cn%20%20%20size%3A%2012%20%5Cn%20%20%20max%3A%206%20%5Cn%20%20%20%7D%5Cn%20%20%20%7D%22%7D%2C%22small_sort%22%3A%7B%22enable_filter_zhanwai%22%3Atrue%2C%22filter_genre_plog%22%3Afalse%2C%22filter_genre_small%22%3Afalse%2C%22skip_small_app_version_filter%22%3Afalse%2C%22skip_small_genre_filter%22%3Afalse%7D%2C%22sort%22%3A%7B%22allowed_ticai%22%3A%5B%22forum_post%22%2C%22pgc_text%22%2C%22pgc_video%22%2C%22short_video%22%5D%2C%22enable_optimus_gen_pc_mv_card%22%3Atrue%2C%22enable_optimus_gen_pc_sv_card%22%3Atrue%2C%22enable_pc_skip_app_smallvideo_card%22%3Atrue%7D%2C%22ugc_sort%22%3A%7B%22expore_smallvideo%22%3Atrue%7D%2C%22video_channel%22%3A%7B%22use_feed%22%3A1%2C%22rank%22%3A5%7D%7D%2C%22env_flag%22%3A0%7D%2C%22localCityInfo%22%3A%7B%22name%22%3A%22%E8%A5%84%E9%98%B3%22%2C%22code%22%3A%22420600%22%2C%22channelId%22%3A3202181326%7D%2C%22voteLink%22%3A%5B%7B%22keyword%22%3A%22%E6%9C%AB%E4%B8%96%E9%87%8D%E7%94%9F%EF%BC%8C%E6%88%91%E6%8A%A2%E4%BA%86%E5%A5%B3%E4%B8%BB%E7%9A%84%E9%87%91%E6%89%8B%E6%8C%87%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7045105728742231079%22%7D%2C%7B%22keyword%22%3A%22%E4%BA%BA%E5%9C%A8%E6%B5%B7%E8%B4%BC%3A%E6%88%91%E6%88%90%E4%B8%BA%E4%BA%86%E6%B5%B7%E5%86%9B%E5%A5%B3%E7%8E%8B%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7070145477789879300%22%7D%2C%7B%22keyword%22%3A%22%E6%B2%A1%E7%9E%8E%E7%9C%BC%E4%B8%89%E5%B9%B4%EF%BC%8C%E4%BD%86%E6%88%91%E7%9A%84%E5%AD%A6%E7%94%9F%E4%B8%8D%E6%98%AF%E4%BA%BA%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7118385133568134175%22%7D%2C%7B%22keyword%22%3A%22%E7%9C%9F%E5%8D%83%E9%87%91%E4%BB%8E%E4%BF%AE%E7%9C%9F%E7%95%8C%E5%9B%9E%E6%9D%A5%E4%BA%86%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F6983183491827502094%22%7D%2C%7B%22keyword%22%3A%22%E5%BC%82%E4%B8%96%E7%9B%B8%E9%81%87%E5%B0%BD%E4%BA%AB%E7%A4%BE%E6%AD%BB%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F583844%22%7D%2C%7B%22keyword%22%3A%22python%20ols%E5%9B%9E%E5%BD%92%E5%88%86%E6%9E%90%E7%BB%93%E6%9E%9C%E6%80%8E%E4%B9%88%E7%9C%8B%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131680%22%7D%2C%7B%22keyword%22%3A%22%E7%A5%9E%E5%A5%87%E5%AE%9D%E8%B4%9D%E4%B9%8B%E5%85%A8%E8%83%BD%E6%8E%8C%E9%97%A8%E4%BA%BA%E8%87%B4%E5%85%89%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F738595%22%7D%2C%7B%22keyword%22%3A%22%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3java8%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131722%22%7D%2C%7B%22keyword%22%3A%22linux%20mysql%20%E6%97%A5%E5%BF%97%E6%B8%85%E7%90%86%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1182964%22%7D%2C%7B%22keyword%22%3A%22%E6%88%91%E5%9C%A8%E5%AE%9D%E5%8F%AF%E6%A2%A6%E4%B8%96%E7%95%8C%E6%88%90%E4%B8%BA%E7%AC%AC%E4%B8%80%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F188604%22%7D%5D%2C%22grSensitive%22%3Afalse%2C%22showResearch%22%3Afalse%2C%22blockVisibility%22%3A%7B%22hotBoard%22%3Atrue%2C%22hotVideo%22%3Atrue%2C%22relatedRecommend%22%3Atrue%7D%2C%22isGreyTheme%22%3Afalse%2C%22searchBot%22%3Anull%7D%7D
npxmrmprettier`;
await
社区精选|如何使用 zx 编写 shell 脚本-*今条头日**
{"@context":"https://schema.org","@type":"NewsArticle","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.toutiao.com/article/7207743318715793920/"},"headline":"社区精选|如何使用 zx 编写 shell 脚本","description":"在这篇文章中,我们将学习谷歌的 zx 库提供了什么,以及我们如何使用它来用 Node.js 编写 shell 脚本。","image":[],"datePublished":"2023-03-08T01:00:05.000Z","dateModified":"2023-05-31T15:51:46.000Z","author":{"@type":"Person","name":"计算科学与信息化","url":"https://www.toutiao.com/c/user/token/MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH/"},"publisher":{"@type":"Organization","name":"*今条头日**","logo":{"@type":"ImageObject","url":"https://lf3-static.bytednsdoc.com/obj/eden-cn/uhbfnupkbps/216.png"}}}
!function(r,e,t,n,s,a,o,i,c,l,d,p,m,f){a="precollect",o="getAttribute",i="addEventListener",(l=function(e){(d=[].slice.call(arguments)).push(Date.now(),location.href),(e==a?l.p.a:l.q).push(d)}).q=[],l.p={a:[]},r[s]=l,(p=document.createElement("script")).src=t+"?bid=toutiao_web_pc&globalName="+s,p.crossOrigin=0
window.Slardar&&window.Slardar("init",{bid:"toutiao_web_pc",pid:"news_article_detail",release:"1.0.0.1822",env:"online",sample:{sample_rate:1},plugins:{ajax:{ignoreUrls:["mcs.snssdk.com","mcs.zijieapi.com","i.snssdk.com","verify.snssdk.com","vcs.snssdk.com","mon.zijieapi.com","mon.snssdk.com"]},pageview:{routeMode:"manual"},blankScreen:{rootSelector:"#root"}}})
!function(n,t){if(n.LogAnalyticsObject=t,!n[t]){function c(){c.q.push(arguments)}c.q=c.q||[],n[t]=c}n[t].l=+new Date}(window,"collectEvent")
window.collectEvent("usePlugin","autotrack"),window.collectEvent("usePlugin","stay"),window.collectEvent("init",{app_id:24,channel:"cn",autotrack:{custom:"tea",text:!0},enable_stay_duration:!0}),window.collectEvent("config",{evtParams:{url:window.location.href,screen_width:window.screen.width,screen_height:window.screen.height,screen_inner_width:window.innerWidth,screen_inner_height:window.innerHeight}})
window.byted_acrawler&&window.byted_acrawler.init({aid:24,dfp:!0})
window.TTGCaptcha&&window.TTGCaptcha.init({commonOptions:{aid:24,iid:"0",did:"0"}})
window.secsdk&&window.secsdk.csrf.setProtectedHost({"www.toutiao.com":{GET:[],POST:[/^\/api\/pc\/user\/fans_digg/,/^\/api\/pc\/user\/delete/,/^\/api\/pc\/user\/follow/,/^\/c\/ugc\/content\/repost/,/^\/group\/repin/,/^\/group\/unrepin/,/^\/api\/pc\/user\/stick/,/^\/api\/pc\/user\/unstick/,/^\/c\/user\/unfollow/,/^\/wenda\/v5\/interact\/followanswer/,/^\/wenda\/v5\/interact\/followquestion/,/^\/wenda\/v5\/interact\/digganswer/,/^\/wenda\/v5\/interact\/deleteanswer/,/^\/user_data\/batch_action/],PUT:[],PATCH:[],DELETE:[]}})
"undefined"!=typeof window&&"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("/sw.js").catch(function(e){window.Slardar&&window.Slardar("emit","counter",{name:"sw-register-error",value:1})})})
function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-QEHZPBE5HH")
%7B%22data%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%22%2C%22abstract%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22articleType%22%3A%22article%22%2C%22itemId%22%3A%227207743318715793920%22%2C%22groupId%22%3A%227207743318715793920%22%2C%22groupSource%22%3A2%2C%22isOriginal%22%3Afalse%2C%22banComment%22%3Afalse%2C%22publishTime%22%3A%222023-03-08%2009%3A00%22%2C%22source%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22tag%22%3A%22technique%22%2C%22mediaSite%22%3Anull%2C%22pathname%22%3A%22%2Farticle%2F7207743318715793920%2F%22%2C%22useCandle%22%3Afalse%2C%22isExclusive%22%3Afalse%2C%22favorite%22%3Afalse%2C%22relation%22%3A%7B%22isFollowing%22%3Afalse%2C%22isFollowed%22%3Afalse%7D%2C%22likeData%22%3A%7B%22userLikeStatus%22%3A0%2C%22count%22%3A1%7D%2C%22isSelf%22%3Afalse%2C%22content%22%3A%22%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%89%8D%E8%A8%80%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E6%9D%A5%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E5%BC%95%E5%AF%BC%E9%85%8D%E7%BD%AE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E7%BC%96%E5%86%99%20Shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E9%97%AE%E9%A2%98%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%94%B1%20Bash%20%E6%88%96%E8%80%85%20zsh%20%E6%89%A7%E8%A1%8C%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%98%AF%E8%87%AA%E5%8A%A8%E5%8C%96%E9%87%8D%E5%A4%8D%E4%BB%BB%E5%8A%A1%E7%9A%84%E5%A5%BD%E6%96%B9%E6%B3%95%E3%80%82Node.js%20%E4%BC%BC%E4%B9%8E%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E7%90%86%E6%83%B3%E9%80%89%E6%8B%A9%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E8%AE%B8%E5%A4%9A%E6%A0%B8%E5%BF%83%E6%A8%A1%E5%9D%97%EF%BC%8C%E5%B9%B6%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E5%AF%BC%E5%85%A5%E4%BB%BB%E4%BD%95%E6%88%91%E4%BB%AC%E9%80%89%E6%8B%A9%E7%9A%84%E5%BA%93%E3%80%82%E5%AE%83%E8%BF%98%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%AE%BF%E9%97%AE%20JavaScript%20%E6%8F%90%E4%BE%9B%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E5%92%8C%E5%86%85%E7%BD%AE%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E4%BD%A0%E5%B0%9D%E8%AF%95%E7%BC%96%E5%86%99%E8%BF%90%E8%A1%8C%E5%9C%A8%20Node.js%20%E4%B8%AD%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E4%BD%A0%E4%BC%9A%E5%8F%91%E7%8E%B0%E8%BF%99%E6%B2%A1%E6%9C%89%E4%BD%A0%E6%83%B3%E8%B1%A1%E4%B8%AD%E7%9A%84%E9%82%A3%E4%B9%88%E9%A1%BA%E5%88%A9%E3%80%82%E4%BD%A0%E9%9C%80%E8%A6%81%E4%B8%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%BC%96%E5%86%99%E7%89%B9%E6%AE%8A%E7%9A%84%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%EF%BC%8C%E6%B3%A8%E6%84%8F%E8%BD%AC%E4%B9%89%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%EF%BC%8C%E7%84%B6%E5%90%8E%E6%9C%80%E7%BB%88%E4%B8%8E%20stdout%EF%BC%88%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%89%E5%92%8C%20stderr%EF%BC%88%E6%A0%87%E5%87%86%E9%94%99%E8%AF%AF%EF%BC%89%E6%89%93%E4%BA%A4%E9%81%93%E3%80%82%E8%BF%99%E4%B8%8D%E6%98%AF%E7%89%B9%E5%88%AB%E7%9B%B4%E8%A7%82%EF%BC%8C%E8%80%8C%E4%B8%94%E4%BC%9A%E4%BD%BF%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E7%9B%B8%E5%BD%93%E7%AC%A8%E6%8B%99%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EBash%20shell%20%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E6%99%AE%E9%81%8D%E9%80%89%E6%8B%A9%E3%80%82%E4%B8%8D%E9%9C%80%E8%A6%81%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%E6%9D%A5%E5%A4%84%E7%90%86%E5%AD%90%E8%BF%9B%E7%A8%8B%EF%BC%8C%E8%80%8C%E4%B8%94%E5%AE%83%E6%9C%89%E5%86%85%E7%BD%AE%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E6%9D%A5%E5%A4%84%E7%90%86%20stdout%20%E5%92%8C%20stderr%E3%80%82%E4%BD%86%E6%98%AF%E7%94%A8%20Bash%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E4%B9%9F%E4%B8%8D%E6%98%AF%E9%82%A3%E4%B9%88%E5%AE%B9%E6%98%93%E3%80%82%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9B%B8%E5%BD%93%E6%B7%B7%E4%B9%B1%EF%BC%8C%E4%BD%BF%E5%BE%97%E5%AE%83%E5%AE%9E%E7%8E%B0%E9%80%BB%E8%BE%91%EF%BC%8C%E6%88%96%E8%80%85%E5%A4%84%E7%90%86%E8%AF%B8%E5%A6%82%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E7%9A%84%E4%BA%8B%E6%83%85%E9%9D%9E%E5%B8%B8%E5%9B%B0%E9%9A%BE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%9C%89%E5%8A%A9%E4%BA%8E%E8%AE%A9%E4%BD%BF%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E9%AB%98%E6%95%88%E5%92%8C%E8%88%92%E9%80%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BE%80%E4%B8%8B%E9%98%85%E8%AF%BB%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%E9%9C%80%E8%A6%81%E9%81%B5%E5%BE%AA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%90%86%E6%83%B3%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E4%BD%A0%E5%BA%94%E8%AF%A5%E7%86%9F%E6%82%89%20JavaScript%20%E5%92%8C%20Node.js%20%E7%9A%84%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E9%80%82%E5%BA%94%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20Node.js%20%26gt%3B%3D%20v14.13.1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cbr%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E4%BB%8E%20GitHub%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DysCUhsc%252BhqUmtqCo55t8jw%253D%253D.aWhjUaPje6eTlkcFFdhW%252FeIVYyAz5G%252FoPbGuXjsxlpcJphMKguwz3NoHWQ9o2vDb47Nfnm9kpIP6Ol5r6Euc8A%253D%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E8%8E%B7%E5%BE%97%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E8%BF%90%E4%BD%9C%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EGoogle%20%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%88%9B%E5%BB%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%A4%84%E7%90%86%E8%BF%99%E4%BA%9B%E8%BF%9B%E7%A8%8B%E7%9A%84%20stdout%20%E5%92%8C%20stderr%20%E7%9A%84%E5%87%BD%E6%95%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E7%9A%84%E4%B8%BB%E8%A6%81%E5%87%BD%E6%95%B0%E6%98%AF%24%E5%87%BD%E6%95%B0%E3%80%82%E4%B8%8B%E9%9D%A2%E6%98%AF%E5%AE%83%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AE%9E%E9%99%85%E4%BE%8B%E5%AD%90%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnawait%26nbsp%3B%24%60ls%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E6%89%A7%E8%A1%8C%E4%B8%8A%E8%BF%B0%E4%BB%A3%E7%A0%81%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnbootstrap-tool%5Cnhello-world%5Cnnode_modules%5Cnpackage.json%5CnREADME.md%5Cntypescript%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%E7%9A%84%20JavaScript%20%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9C%8B%E8%B5%B7%E6%9D%A5%E6%9C%89%E7%82%B9%E5%8F%A4%E6%80%AA%E3%80%82%E5%AE%83%E4%BD%BF%E7%94%A8%E4%BA%86%E4%B8%80%E7%A7%8D%E5%8F%AB%E5%81%9A%E5%B8%A6%E6%A0%87%E7%AD%BE%E7%9A%84%E6%A8%A1%E6%9D%BF%E5%AD%97%E7%AC%A6%E4%B8%B2%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DVUkodq5er%252Fynbhfl3MUQZA%253D%253D.%252Flx6oaDCVK4XuYyYLqvDi2QMWjCwW1jKBvNQgfaGG0AVwpl7I2CYD4sJYHuonDSA6jj1qSSypc0aGVO%252BYuBMUiibG6pBkVwusg%252Bai1hbMXetqlwMTWVUEAbtabMCbXIs%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E3%80%82%E5%AE%83%E5%9C%A8%E5%8A%9F%E8%83%BD%E4%B8%8A%E4%B8%8E%E7%BC%96%E5%86%99%20await%20%24(%26%2334%3Bls%26%2334%3B)%E7%9B%B8%E5%90%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%85%B6%E4%BB%96%E5%87%A0%E4%B8%AA%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%EF%BC%8C%E4%BD%BF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E6%9B%B4%E5%AE%B9%E6%98%93%E3%80%82%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ecd()%E3%80%82%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E6%9B%B4%E6%94%B9%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Equestion()%E3%80%82%E8%BF%99%E6%98%AF%20Node.js%20readline%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%8C%85%E8%A3%85%E5%99%A8%E3%80%82%E5%AE%83%E4%BD%BF%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E5%8F%98%E5%BE%97%E7%AE%80%E5%8D%95%E6%98%8E%E4%BA%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%99%A4%E4%BA%86%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%A4%96%EF%BC%8C%E5%AE%83%E8%BF%98%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E5%87%A0%E4%B8%AA%E6%B5%81%E8%A1%8C%E7%9A%84%E5%BA%93%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Echalk%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D%252FL15Y8OQNrp05Scx6N4iaQ%253D%253D.r8AZkfcE1Ye%252BlNUznFA9RNJMhfyM0lttTiD0TmqjJQwoi7zjQjs5YiLjI%252FWDEooY%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%99%E4%B8%AA%E5%BA%93%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E4%B8%BA%E8%84%9A%E6%9C%AC%E7%9A%84%E8%BE%93%E5%87%BA%E6%B7%BB%E5%8A%A0%E9%A2%9C%E8%89%B2%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Eminimist%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5tMQ5d6qJ4STEHZeuiN0MA%253D%253D.x9GPOpXVZp5TGKknZCkwA10QP%252Ftw%252BW7fwnpYGg%252BnlJPJLK3RboT3jqy5WuPLFwPZ%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E4%B8%AA%E8%A7%A3%E6%9E%90%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E7%9A%84%E5%BA%93%E3%80%82%E7%84%B6%E5%90%8E%E5%AE%83%E4%BB%AC%E5%9C%A8%20argv%20%E5%AF%B9%E8%B1%A1%E4%B8%8B%E8%A2%AB%E6%9A%B4%E9%9C%B2%E5%87%BA%E6%9D%A5%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efetch%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D71LC44tCu%252FZoLOY2B7MfuA%253D%253D.GO%252FMi37T0KTmj8UXau9xdFUBiIk1I%252F8M%252FHk2hZYrhRb%252Fd3Vl0bzlr05hanNxzuVb%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EFetch%20API%20%E7%9A%84%20Node.js%20%E5%AE%9E%E7%8E%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E8%BF%9B%E8%A1%8C%20HTTP%20%E8%AF%B7%E6%B1%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efs-extra%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DcPZzXniTRFJdbq87FdwLWw%253D%253D.IsmhSUEjIcZAqw8FDidbUnNhhIVPT1gsFSo%252BchiXCAs9AaxUVT%252FEgbIvswUDVmK2%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%B8%80%E4%B8%AA%E6%9A%B4%E9%9C%B2%20Node.js%20%E6%A0%B8%E5%BF%83%20fs%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%BA%93%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B9%E6%B3%95%EF%BC%8C%E4%BD%BF%E5%85%B6%E6%9B%B4%E5%AE%B9%E6%98%93%E4%B8%8E%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%80%E8%B5%B7%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9F%A5%E9%81%93%E4%BA%86%20zx%20%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E4%BB%80%E4%B9%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E7%94%A8%E5%AE%83%E5%88%9B%E5%BB%BA%E7%AC%AC%E4%B8%80%E4%B8%AA%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bzx-shell-scripts%5Cncd%26nbsp%3Bzx-shell-scripts%5Cnnpm%26nbsp%3Binit%26nbsp%3B--yes%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%AE%89%E8%A3%85%20zx%20%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bzx%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E7%9A%84%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E7%94%A8%20npm%20%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E8%AF%A5%E5%BA%93%E3%80%82%E9%80%9A%E8%BF%87%E5%B0%86%E5%85%B6%E5%AE%89%E8%A3%85%E4%B8%BA%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%A1%AE%E4%BF%9D%20zx%20%E6%80%BB%E6%98%AF%E8%A2%AB%E5%AE%89%E8%A3%85%EF%BC%8C%E5%B9%B6%E6%8E%A7%E5%88%B6%20shell%20%E8%84%9A%E6%9C%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E7%89%88%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A1%B6%E7%BA%A7%20await%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%20Node.js%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E9%A1%B6%E7%BA%A7%20await%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%20await%20%E4%BD%8D%E4%BA%8E%20async%20%E5%87%BD%E6%95%B0%E7%9A%84%E5%A4%96%E9%83%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%9C%A8%20ES%20%E6%A8%A1%E5%9D%97%E7%9A%84%E6%A8%A1%E5%BC%8F%E4%B8%8B%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%EF%BC%8C%E8%AF%A5%E6%A8%A1%E5%BC%8F%E6%94%AF%E6%8C%81%E9%A1%B6%E7%BA%A7%20await%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%20package.json%20%E4%B8%AD%E6%B7%BB%E5%8A%A0%20%26%2334%3Btype%26%2334%3B%3A%20%26%2334%3Bmodule%26%2334%3B%20%E6%80%8E%E4%B9%88%E6%80%8E%E4%B9%88%E6%9D%A5%E8%A1%A8%E6%98%8E%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%A8%A1%E5%9D%97%E9%83%BD%E6%98%AF%20ES%20%E6%A8%A1%E5%9D%97%E3%80%82%E6%88%96%E8%80%85%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%B0%86%E5%8D%95%E4%B8%AA%E8%84%9A%E6%9C%AC%E7%9A%84%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E8%AE%BE%E7%BD%AE%E4%B8%BA%20.mjs%20%E3%80%82%E5%9C%A8%E6%9C%AC%E6%96%87%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20.mjs%20%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E5%B9%B6%E6%8D%95%E8%8E%B7%E8%BE%93%E5%87%BA%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B0%86%E5%85%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world.mjs%20%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%AE%83%E5%91%8A%E8%AF%89%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%88OS%EF%BC%89%E7%9A%84%E5%86%85%E6%A0%B8%E8%A6%81%E7%94%A8%20node%20%E7%A8%8B%E5%BA%8F%E8%BF%90%E8%A1%8C%E8%AF%A5%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%BA%9B%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%BD%BF%E7%94%A8%20zx%20%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8B%E9%9D%A2%E7%9A%84%E4%BB%A3%E7%A0%81%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%20ls%20%E7%A8%8B%E5%BA%8F%E3%80%82ls%20%E7%A8%8B%E5%BA%8F%E5%B0%86%E5%88%97%E5%87%BA%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%88%E8%84%9A%E6%9C%AC%E6%89%80%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%EF%BC%89%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BB%8E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BF%9B%E7%A8%8B%E4%B8%AD%E6%8D%95%E8%8E%B7%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B0%86%E5%85%B6%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E7%84%B6%E5%90%8E%E6%89%93%E5%8D%B0%E5%88%B0%E7%BB%88%E7%AB%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cnconsole.log(output)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E6%8A%8A%2Fusr%2Fbin%2Fenv%20zx%20%E6%94%BE%E5%9C%A8%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E7%9A%84%20shebang%20%E8%A1%8C%E4%B8%AD%EF%BC%8C%E4%BD%86%E6%88%91%E4%BB%AC%E7%94%A8%2Fusr%2Fbin%2Fenv%20node%20%E4%BB%A3%E6%9B%BF%E3%80%82%E8%BF%99%E6%98%AF%E5%9B%A0%E4%B8%BA%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%20zx%EF%BC%8C%E5%B9%B6%E4%BD%9C%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E6%98%8E%E7%A1%AE%E5%9C%B0%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E6%83%B3%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%E3%80%82%E8%BF%99%E6%9C%89%E5%8A%A9%E4%BA%8E%E6%98%8E%E7%A1%AE%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E4%BE%9D%E8%B5%96%E6%9D%A5%E8%87%AA%E5%93%AA%E9%87%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%20chmod%20%E6%9D%A5%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E5%A6%82%E4%B8%8B%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%88ls%EF%BC%89%E8%A2%AB%E5%8C%85%E5%90%AB%E5%9C%A8%E8%BE%93%E5%87%BA%E4%B8%AD%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%E6%98%BE%E7%A4%BA%E4%B8%A4%E6%AC%A1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BE%93%E5%87%BA%E7%9A%84%E6%9C%AB%E5%B0%BE%E5%A4%9A%E4%BA%86%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E9%BB%98%E8%AE%A4%E4%BB%A5%20verbose%20%E6%A8%A1%E5%BC%8F%E8%BF%90%E8%A1%8C%E3%80%82%E5%AE%83%E5%B0%86%E8%BE%93%E5%87%BA%E4%BD%A0%E4%BC%A0%E9%80%92%E7%BB%99%24%E5%87%BD%E6%95%B0%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%90%8C%E6%97%B6%E4%B9%9F%E8%BE%93%E5%87%BA%E8%AF%A5%E5%91%BD%E4%BB%A4%E7%9A%84%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%E8%BF%90%E8%A1%8C%20ls%20%E5%91%BD%E4%BB%A4%E5%89%8D%E5%8A%A0%E5%85%A5%E4%BB%A5%E4%B8%8B%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E6%9D%A5%E6%94%B9%E5%8F%98%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A4%A7%E5%A4%9A%E6%95%B0%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%A6%82%20ls%EF%BC%8C%E4%BC%9A%E5%9C%A8%E5%85%B6%E8%BE%93%E5%87%BA%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E5%AD%97%E7%AC%A6%EF%BC%8C%E4%BB%A5%E4%BD%BF%E8%BE%93%E5%87%BA%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E6%9B%B4%E6%98%93%E8%AF%BB%E3%80%82%E8%BF%99%E5%AF%B9%E5%8F%AF%E8%AF%BB%E6%80%A7%E6%9C%89%E5%A5%BD%E5%A4%84%EF%BC%8C%E4%BD%86%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E8%A6%81%E5%B0%86%E8%BE%93%E5%87%BA%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E6%9C%89%E8%BF%99%E4%B8%AA%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B0%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%20JavaScript%20String%23trim()%E5%87%BD%E6%95%B0%E6%8A%8A%E5%AE%83%E5%8E%BB%E6%8E%89%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E-%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cn%2B%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout.trim()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%86%8D%E6%AC%A1%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E7%BB%93%E6%9E%9C%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%A5%BD%E5%BE%88%E5%A4%9A%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ehello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%BC%95%E5%85%A5%20TypeScript%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E6%83%B3%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%BC%96%E5%86%99%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%BE%AE%E5%B0%8F%E7%9A%84%E5%8C%BA%E5%88%AB%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%8A%A0%E4%BB%A5%E8%AF%B4%E6%98%8E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9ATypeScript%20%E7%BC%96%E8%AF%91%E5%99%A8%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E5%AE%83%E5%A6%82%E4%BD%95%E7%BC%96%E8%AF%91%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%E8%80%83%E8%99%91%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E4%B8%8B%E9%9D%A2%E7%9A%84%20TypeScript%20%E9%85%8D%E7%BD%AE%E5%92%8C%E4%BB%A3%E7%A0%81%E6%98%AF%E4%B8%BA%E4%BA%86%E5%9C%A8%E5%A4%A7%E5%A4%9A%E6%95%B0%20TypeScript%20%E7%89%88%E6%9C%AC%E4%B8%8B%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E5%AE%89%E8%A3%85%E9%9C%80%E8%A6%81%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E7%9A%84%E4%BE%9D%E8%B5%96%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Btypescript%26nbsp%3Bts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ets-node%20%E5%8C%85%E6%8F%90%E4%BE%9B%E4%BA%86%E4%B8%80%E4%B8%AA%20TypeScript%20%E6%89%A7%E8%A1%8C%E5%BC%95%E6%93%8E%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E8%83%BD%E5%A4%9F%E8%BD%AC%E8%AF%91%E5%92%8C%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%9C%80%E8%A6%81%E5%88%9B%E5%BB%BA%20tsconfig.json%20%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E4%B8%8B%E9%9D%A2%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%7B%5Cn%26%2334%3BcompilerOptions%26%2334%3B%3A%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Btarget%26%2334%3B%3A%26nbsp%3B%26%2334%3Bes2017%26%2334%3B%2C%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Bmodule%26%2334%3B%3A%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5Cn%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E6%96%B0%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B9%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world-typescript.ts%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E6%B7%BB%E5%8A%A0%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%91%8A%E8%AF%89%20OS%20%E5%86%85%E6%A0%B8%E4%BD%BF%E7%94%A8%20ts-node%20%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B.%2Fnode_modules%2F.bin%2Fts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E4%B8%AD%E4%BD%BF%E7%94%A8%20await%20%E5%85%B3%E9%94%AE%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E6%8A%8A%E5%AE%83%E5%8C%85%E8%A3%85%E5%9C%A8%E4%B8%80%E4%B8%AA%E7%AB%8B%E5%8D%B3%E8%B0%83%E7%94%A8%E5%87%BD%E6%95%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%EF%BC%88IIFE%EF%BC%89%E4%B8%AD%EF%BC%8C%E6%AD%A3%E5%A6%82%20zx%20%E6%96%87%E6%A1%A3%E6%89%80%E5%BB%BA%E8%AE%AE%E7%9A%84%E9%82%A3%E6%A0%B7%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world-typescript.ts%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnvoid%26nbsp%3B(async%26nbsp%3Bfunction%26nbsp%3B()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60ls%60%3B%5Cn%7D)()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E9%9C%80%E8%A6%81%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E4%B8%8B%E9%9D%A2%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world-typescript.ts%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cntsconfig.json%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%E8%84%9A%E6%9C%AC%E4%B8%8E%E4%BD%BF%E7%94%A8%20JavaScript%20%E7%9B%B8%E4%BC%BC%EF%BC%8C%E4%BD%86%E9%9C%80%E8%A6%81%E5%AF%B9%E6%88%91%E4%BB%AC%E7%9A%84%E4%BB%A3%E7%A0%81%E8%BF%9B%E8%A1%8C%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E9%85%8D%E7%BD%AE%E5%92%8C%E5%8C%85%E8%A3%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%9E%84%E5%BB%BA%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E7%94%A8%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AF%86%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E7%94%A8%E5%AE%83%E6%9D%A5%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B7%A5%E5%85%B7%E3%80%82%E8%BF%99%E4%B8%AA%E5%B7%A5%E5%85%B7%E5%B0%86%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E9%80%9A%E5%B8%B8%E5%BE%88%E8%80%97%E6%97%B6%E7%9A%84%E8%BF%87%E7%A8%8B%EF%BC%9A%E4%B8%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E7%9A%84%E9%85%8D%E7%BD%AE%E6%8F%90%E4%BE%9B%E5%BC%95%E5%AF%BC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BA%A4%E4%BA%92%E5%BC%8F%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E3%80%82%E5%AE%83%E8%BF%98%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E5%86%85%E7%BD%AE%E7%9A%84%20chalk%20%E5%BA%93%EF%BC%8C%E4%BB%A5%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A2%9C%E8%89%B2%E9%AB%98%E4%BA%AE%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B9%B6%E6%8F%90%E4%BE%9B%E4%B8%80%E4%B8%AA%E5%8F%8B%E5%A5%BD%E7%9A%84%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C%E3%80%82%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E8%BF%98%E5%B0%86%E5%AE%89%E8%A3%85%E6%96%B0%E9%A1%B9%E7%9B%AE%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%EF%BC%8C%E6%89%80%E4%BB%A5%E5%AE%83%E5%B7%B2%E7%BB%8F%E5%87%86%E5%A4%87%E5%A5%BD%E8%AE%A9%E6%88%91%E4%BB%AC%E7%AB%8B%E5%8D%B3%E5%BC%80%E5%A7%8B%E5%BC%80%E5%8F%91%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%87%86%E5%A4%87%E5%BC%80%E5%A7%8B%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%90%8D%E4%B8%BA%20bootstrap-tool.mjs%20%E7%9A%84%E6%96%B0%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B9%B6%E6%B7%BB%E5%8A%A0%20shebang%20%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E6%A8%A1%E5%9D%97%EF%BC%8C%E4%BB%A5%E5%8F%8A%20Node.js%20%E6%A0%B8%E5%BF%83%20path%20%E6%A8%A1%E5%9D%97%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%2F%2F%26nbsp%3Bbootstrap-tool.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%2C%26nbsp%3Bargv%2C%26nbsp%3Bcd%2C%26nbsp%3Bchalk%2C%26nbsp%3Bfs%2C%26nbsp%3Bquestion%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnimport%26nbsp%3Bpath%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bpath%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8E%E6%88%91%E4%BB%AC%E4%B9%8B%E5%89%8D%E5%88%9B%E5%BB%BA%E7%9A%84%E8%84%9A%E6%9C%AC%E4%B8%80%E6%A0%B7%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bbootstrap-tool.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E7%94%A8%E7%BA%A2%E8%89%B2%E6%96%87%E6%9C%AC%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%EF%BC%8C%E5%B9%B6%E4%BB%A5%E9%94%99%E8%AF%AF%E9%80%80%E5%87%BA%E4%BB%A3%E7%A0%81%201%20%E9%80%80%E5%87%BA%20Node.js%20%E8%BF%9B%E7%A8%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Efunction%26nbsp%3BexitWithError(errorMessage)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconsole.error(chalk.red(errorMessage))%3B%5Cn%26nbsp%3B%26nbsp%3Bprocess.exit(1)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BD%93%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%A4%84%E7%90%86%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E9%80%9A%E8%BF%87%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%9C%A8%E5%90%84%E4%B8%AA%E5%9C%B0%E6%96%B9%E4%BD%BF%E7%94%A8%E8%BF%99%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%E4%B8%89%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%9Agit%E3%80%81node%20%E5%92%8C%20npx%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20which%20%E5%BA%93%E6%9D%A5%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E6%A3%80%E6%9F%A5%E8%BF%99%E4%BA%9B%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%E5%B9%B6%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20which%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bwhich%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%BC%95%E5%85%A5%E5%AE%83%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3Bwhich%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bwhich%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BD%BF%E7%94%A8%E5%AE%83%E7%9A%84%20checkRequiredProgramsExist%20%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckRequiredProgramsExist(programs)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3Bprogram%26nbsp%3Bof%26nbsp%3Bprograms)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bwhich(program)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BRequired%26nbsp%3Bcommand%26nbsp%3B%24%7Berror.message%7D%60)%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%90%8D%E7%A7%B0%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%95%B0%E7%BB%84%EF%BC%8C%E5%AF%B9%E6%AF%8F%E4%B8%AA%E7%A8%8B%E5%BA%8F%E8%B0%83%E7%94%A8%20which%20%E5%87%BD%E6%95%B0%E3%80%82%E5%A6%82%E6%9E%9C%20which%20%E6%89%BE%E5%88%B0%E4%BA%86%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%B7%AF%E5%BE%84%EF%BC%8C%E5%AE%83%E5%B0%86%E8%BF%94%E5%9B%9E%E8%AF%A5%E7%A8%8B%E5%BA%8F%E3%80%82%E5%90%A6%E5%88%99%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%AF%A5%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E6%8A%9B%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E3%80%82%E5%A6%82%E6%9E%9C%E6%9C%89%E4%BB%BB%E4%BD%95%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E8%B0%83%E7%94%A8%20exitWithError%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%E5%B9%B6%E5%81%9C%E6%AD%A2%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%8F%AF%E4%BB%A5%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%AF%B9%20checkRequiredProgramsExist%20%E7%9A%84%E8%B0%83%E7%94%A8%EF%BC%8C%E4%BB%A5%E6%A3%80%E6%9F%A5%E6%88%91%E4%BB%AC%E7%9A%84%E5%B7%A5%E5%85%B7%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%8F%AF%E7%94%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckRequiredProgramsExist(%5B%26%2334%3Bgit%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnode%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnpx%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%B7%BB%E5%8A%A0%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E9%80%89%E9%A1%B9%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%B0%86%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E5%90%AF%E5%8A%A8%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%88%91%E4%BB%AC%E5%B8%8C%E6%9C%9B%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9A%84%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E3%80%82%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E8%A6%81%E7%BB%99%E8%84%9A%E6%9C%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20--directory%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E5%86%85%E7%BD%AE%E4%BA%86%20minimist%20%E5%8C%85%EF%BC%8C%E5%AE%83%E8%83%BD%E5%A4%9F%E8%A7%A3%E6%9E%90%E4%BC%A0%E9%80%92%E7%BB%99%E8%84%9A%E6%9C%AC%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%E8%BF%99%E4%BA%9B%E8%A2%AB%E8%A7%A3%E6%9E%90%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E8%A2%AB%20zx%20%E5%8C%85%E4%BD%9C%E4%B8%BA%20argv%20%E6%8F%90%E4%BE%9B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E5%90%8D%E4%B8%BA%20directory%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E6%A3%80%E6%9F%A5%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Elet%26nbsp%3BtargetDirectory%26nbsp%3B%3D%26nbsp%3Bargv.directory%3B%5Cnif%26nbsp%3B(!targetDirectory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%26%2334%3BError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%26%2334%3B)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%20directory%20%E5%8F%82%E6%95%B0%E8%A2%AB%E4%BC%A0%E9%80%92%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%E5%AE%83%E6%98%AF%E5%90%A6%E6%98%AF%E5%B7%B2%E7%BB%8F%E5%AD%98%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%E7%9A%84%E8%B7%AF%E5%BE%84%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%8F%90%E4%BE%9B%E7%9A%84%20fs.pathExists%20%E6%96%B9%E6%B3%95%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3EtargetDirectory%26nbsp%3B%3D%26nbsp%3Bpath.resolve(targetDirectory)%3B%5Cnif%26nbsp%3B(!(await%26nbsp%3Bfs.pathExists(targetDirectory)))%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BTarget%26nbsp%3Bdirectory%26nbsp%3B%26%2339%3B%24%7BtargetDirectory%7D%26%2339%3B%26nbsp%3Bdoes%26nbsp%3Bnot%26nbsp%3Bexist%60)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E8%B7%AF%E5%BE%84%E5%AD%98%E5%9C%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%20cd%20%E5%87%BD%E6%95%B0%E6%9D%A5%E5%88%87%E6%8D%A2%E5%BD%93%E5%89%8D%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%9A%E2%80%8D%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ecd(targetDirectory)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%9C%A8%E6%B2%A1%E6%9C%89--directory%20%E5%8F%82%E6%95%B0%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E5%BA%94%E8%AF%A5%E4%BC%9A%E6%94%B6%E5%88%B0%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3B.%2Fbootstrap-tool.mjs%5CnError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E5%85%A8%E5%B1%80%20Git%20%E8%AE%BE%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%A8%8D%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%8C%E4%BD%86%E9%A6%96%E5%85%88%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%20Git%20%E6%98%AF%E5%90%A6%E6%9C%89%E5%AE%83%E9%9C%80%E8%A6%81%E7%9A%84%E9%85%8D%E7%BD%AE%E3%80%82%E6%88%91%E4%BB%AC%E8%A6%81%E7%A1%AE%E4%BF%9D%E6%8F%90%E4%BA%A4%E4%BC%9A%E8%A2%AB%20GitHub%20%E7%AD%89%E4%BB%A3%E7%A0%81%E6%89%98%E7%AE%A1%E6%9C%8D%E5%8A%A1%E6%AD%A3%E7%A1%AE%E5%BD%92%E7%B1%BB%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%81%9A%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E8%BF%99%E9%87%8C%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E7%B4%A2%20Git%20%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%E7%9A%84%E5%80%BC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetGlobalGitSettingValue(settingName)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B%26%2334%3B%26%2334%3B%3B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60git%26nbsp%3Bconfig%26nbsp%3B--global%26nbsp%3B--get%26nbsp%3B%24%7BsettingName%7D%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B).stdout.trim()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%2F%2F%26nbsp%3BIgnore%26nbsp%3Bprocess%26nbsp%3Boutput%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BsettingValue%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E5%85%B3%E9%97%AD%20zx%20%E9%BB%98%E8%AE%A4%E8%AE%BE%E7%BD%AE%E7%9A%84%20verbose%20%E6%A8%A1%E5%BC%8F%E3%80%82%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%EF%BC%8C%E5%BD%93%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%97%B6%EF%BC%8C%E8%AF%A5%E5%91%BD%E4%BB%A4%E5%92%8C%E5%AE%83%E5%8F%91%E9%80%81%E5%88%B0%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E7%9A%84%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9%E9%83%BD%E4%B8%8D%E4%BC%9A%E8%A2%AB%E6%98%BE%E7%A4%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%9C%A8%E5%87%BD%E6%95%B0%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E5%B0%86%20verbose%20%E6%A8%A1%E5%BC%8F%E9%87%8D%E6%96%B0%E6%89%93%E5%BC%80%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E5%BD%B1%E5%93%8D%E5%88%B0%E6%88%91%E4%BB%AC%E7%A8%8D%E5%90%8E%E5%9C%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%85%B6%E4%BB%96%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%20checkGlobalGitSettings%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A5%E5%87%BD%E6%95%B0%E6%8E%A5%E6%94%B6%20Git%20%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%E7%BB%84%E6%88%90%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%B0%86%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%AF%8F%E4%B8%AA%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E4%BC%A0%E9%80%92%E7%BB%99%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E4%BB%A5%E6%A3%80%E7%B4%A2%E5%85%B6%E5%80%BC%E3%80%82%E5%A6%82%E6%9E%9C%E8%AE%BE%E7%BD%AE%E6%B2%A1%E6%9C%89%E5%80%BC%EF%BC%8C%E5%B0%86%E6%98%BE%E7%A4%BA%E8%AD%A6%E5%91%8A%E4%BF%A1%E6%81%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckGlobalGitSettings(settingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3BsettingName%26nbsp%3Bof%26nbsp%3BsettingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetGlobalGitSettingValue(settingName)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!settingValue)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.warn(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.yellow(%60Warning%3A%26nbsp%3BGlobal%26nbsp%3Bgit%26nbsp%3Bsetting%26nbsp%3B%26%2339%3B%24%7BsettingName%7D%26%2339%3B%26nbsp%3Bis%26nbsp%3Bnot%26nbsp%3Bset.%60)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E7%BB%99%20checkGlobalGitSettings%20%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E8%B0%83%E7%94%A8%EF%BC%8C%E6%A3%80%E6%9F%A5%20user.name%20%E5%92%8C%20user.email%20%E7%9A%84%20Git%20%E8%AE%BE%E7%BD%AE%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E8%A2%AB%E8%AE%BE%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckGlobalGitSettings(%5B%26%2334%3Buser.name%26%2334%3B%2C%26nbsp%3B%26%2334%3Buser.email%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%88%9D%E5%A7%8B%E5%8C%96%20Git%20%E4%BB%93%E5%BA%93%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E6%B7%BB%E5%8A%A0%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Binit%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20package.json%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%AF%8F%E4%B8%AA%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%83%BD%E9%9C%80%E8%A6%81%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E8%BF%99%E6%98%AF%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E5%AE%9A%E4%B9%89%E5%85%83%E6%95%B0%E6%8D%AE%E7%9A%84%E5%9C%B0%E6%96%B9%EF%BC%8C%E6%8C%87%E5%AE%9A%E9%A1%B9%E7%9B%AE%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E5%8C%85%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%B7%BB%E5%8A%A0%E5%AE%9E%E7%94%A8%E7%9A%84%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%94%9F%E6%88%90%20package.json%20%E6%96%87%E4%BB%B6%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E5%87%A0%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%98%AF%20readPackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%AF%BB%E5%8F%96%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BreadPackageJson(directory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3Bfs.readJSON(packageJsonFilepath)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20writePackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E5%90%91%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E5%86%99%E5%85%A5%E6%9B%B4%E6%94%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BwritePackageJson(directory%2C%26nbsp%3Bcontents)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bfs.writeJSON(packageJsonFilepath%2C%26nbsp%3Bcontents%2C%26nbsp%3B%7B%26nbsp%3Bspaces%3A%26nbsp%3B2%26nbsp%3B%7D)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%20fs.readJSON%20%E5%92%8C%20fs.writeJSON%20%E6%96%B9%E6%B3%95%E6%98%AF%E7%94%B1%20fs-extra%20%E5%BA%93%E6%8F%90%E4%BE%9B%E7%9A%84%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E5%AE%9A%E4%B9%89%E4%BA%86%20package.json%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%BC%80%E5%A7%8B%E8%80%83%E8%99%91%20package.json%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E6%94%AF%E6%8C%81%E4%B8%A4%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ECommonJS%20Modules%20(CJS)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DKTweLvts6a1zOlUbn0cnCA%253D%253D.WRSoJ3t37Y2GYjanjStt81N%252BkCOGoR11gK8pv6Fck09uaKTSXHq5mvMcWutIRxYU%3C%2Fspan%3E%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%BF%E7%94%A8%20module.exports%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20require()%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EECMAScript%20Modules%20(ESM)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DOUbF%252BkjeOpAlt3Fo9PFGFw%253D%253D.Ex%252BQVnop7rVNKtYxrnp%252Fhcm08eFRE7K2XLUBlFFQ7D4%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%BD%BF%E7%94%A8%20export%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20import%20%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E7%94%9F%E6%80%81%E7%B3%BB%E7%BB%9F%E6%AD%A3%E5%9C%A8%E9%80%90%E6%AD%A5%E9%87%87%E7%94%A8%20ES%20%E6%A8%A1%E5%9D%97%EF%BC%8C%E8%BF%99%E5%9C%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%20JavaScript%20%E4%B8%AD%E6%98%AF%E5%BE%88%E5%B8%B8%E8%A7%81%E7%9A%84%E3%80%82%E5%BD%93%E4%BA%8B%E6%83%85%E5%A4%84%E4%BA%8E%E8%BF%87%E6%B8%A1%E9%98%B6%E6%AE%B5%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%86%B3%E5%AE%9A%E6%88%91%E4%BB%AC%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%BB%98%E8%AE%A4%E4%BD%BF%E7%94%A8%20CJS%20%E6%A8%A1%E5%9D%97%E8%BF%98%E6%98%AF%20ESM%20%E6%A8%A1%E5%9D%97%E3%80%82%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%BF%99%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForModuleSystem(moduleSystems)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Which%26nbsp%3BNode.js%26nbsp%3Bmodule%26nbsp%3Bsystem%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Buse%3F%26nbsp%3B(%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26nbsp%3Bor%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D)%26nbsp%3B%60%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchoices%3A%26nbsp%3BmoduleSystems%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BmoduleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E5%87%BD%E6%95%B0%E4%BD%BF%E7%94%A8%E7%9A%84%20question%20%E5%87%BD%E6%95%B0%E7%94%B1%20zx%20%E6%8F%90%E4%BE%9B%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getNodeModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E8%B0%83%E7%94%A8%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E6%A3%80%E6%9F%A5%E6%89%80%E8%BE%93%E5%85%A5%E7%9A%84%E5%80%BC%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%8D%E6%98%AF%EF%BC%8C%E5%AE%83%E5%B0%86%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetNodeModuleSystem()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystems%26nbsp%3B%3D%26nbsp%3B%5B%26%2334%3Bmodule%26%2334%3B%2C%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForModuleSystem(moduleSystems)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BisValidModuleSystem%26nbsp%3B%3D%26nbsp%3BmoduleSystems.includes(selectedModuleSystem)%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!isValidModuleSystem)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BModule%26nbsp%3Bsystem%26nbsp%3Bmust%26nbsp%3Bbe%26nbsp%3Beither%26nbsp%3B%26%2339%3B%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26%2339%3B%26nbsp%3Bor%26nbsp%3B%26%2339%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%26%2339%3B%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BselectedModuleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E8%BF%90%E8%A1%8C%20npm%20init%20%E5%91%BD%E4%BB%A4%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npm%26nbsp%3Binit%26nbsp%3B--yes%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E8%AF%BB%E5%8F%96%E6%96%B0%E5%88%9B%E5%BB%BA%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E8%AF%A2%E9%97%AE%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%B3%BB%E7%BB%9F%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA%20packageJson%20%E5%AF%B9%E8%B1%A1%E4%B8%AD%E7%9A%84%20type%20%E5%B1%9E%E6%80%A7%E5%80%BC%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%E5%85%B6%E5%86%99%E5%9B%9E%E5%88%B0%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackageJson%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5CnpackageJson.type%26nbsp%3B%3D%26nbsp%3BselectedModuleSystem%3B%5Cnawait%26nbsp%3BwritePackageJson(targetDirectory%2C%26nbsp%3BpackageJson)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%8F%90%E7%A4%BA%EF%BC%9A%E5%BD%93%E4%BD%A0%E7%94%A8--yes%20%E6%A0%87%E5%BF%97%E8%BF%90%E8%A1%8C%20npm%20init%20%E6%97%B6%EF%BC%8C%E8%A6%81%E6%83%B3%E5%9C%A8%20package.json%20%E4%B8%AD%E8%8E%B7%E5%BE%97%E5%90%88%E7%90%86%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%EF%BC%8C%E8%AF%B7%E7%A1%AE%E4%BF%9D%E4%BD%A0%E8%AE%BE%E7%BD%AE%E4%BA%86%20npminit-*%E7%9A%84%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DX0aVKO8sVtj0bgZhFmgjVw%253D%253D.hxYbJxX5X2odlcPpk5MdIVLkT7ESAsFMhFnFSRBftI2c2BjNTUCtV1gwdXnpxWGI%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E9%A1%B9%E7%9B%AE%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E4%BD%BF%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E5%90%8E%E8%83%BD%E5%A4%9F%E8%BD%BB%E6%9D%BE%E5%9C%B0%E5%BC%80%E5%A7%8B%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForPackages%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E5%93%AA%E4%BA%9B%20npm%20%E5%8C%85%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForPackages()%26nbsp%3B%7B%5Cnlet%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3BWhich%26nbsp%3Bnpm%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Binstall%26nbsp%3Bfor%26nbsp%3Bthis%26nbsp%3Bproject%3F%26nbsp%3B%26%2334%3B%5Cn)%3B%5CnpackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall%5Cn%26nbsp%3B%26nbsp%3B.trim()%5Cn%26nbsp%3B%26nbsp%3B.split(%26%2334%3B%26nbsp%3B%26%2334%3B)%5Cn%26nbsp%3B%26nbsp%3B.filter((pkg)%26nbsp%3B%3D%26gt%3B%26nbsp%3Bpkg)%3B%5Cnreturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E9%98%B2%E6%AD%A2%E6%88%91%E4%BB%AC%E5%9C%A8%E8%BE%93%E5%85%A5%E5%8C%85%E5%90%8D%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E5%88%AB%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20identifyInvalidNpmPackages%20%E5%87%BD%E6%95%B0%E3%80%82%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E5%B0%86%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%20npm%20%E5%8C%85%E5%90%8D%E6%95%B0%E7%BB%84%EF%BC%8C%E7%84%B6%E5%90%8E%E8%BF%90%E8%A1%8C%20npm%20view%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E6%9F%A5%E5%AE%83%E4%BB%AC%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BidentifyInvalidNpmPackages(packages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3B%5B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(const%26nbsp%3Bpkg%26nbsp%3Bof%26nbsp%3Bpackages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Bview%26nbsp%3B%24%7Bpkg%7D%60%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BinvalidPackages.push(pkg)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BinvalidPackages%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getPackagesToInstall%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E5%88%9A%E5%88%9A%E5%88%9B%E5%BB%BA%E7%9A%84%E4%B8%A4%E4%B8%AA%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetPackagesToInstall()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForPackages()%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BidentifyInvalidNpmPackages(packagesToInstall)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BallPackagesExist%26nbsp%3B%3D%26nbsp%3BinvalidPackages.length%26nbsp%3B%3D%3D%3D%26nbsp%3B0%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!allPackagesExist)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BThe%26nbsp%3Bfollowing%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Bnot%26nbsp%3Bexist%26nbsp%3Bon%26nbsp%3Bnpm%3A%26nbsp%3B%24%7BinvalidPackages.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%2C%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%9C%89%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%90%8D%E7%A7%B0%E4%B8%8D%E6%AD%A3%E7%A1%AE%EF%BC%8C%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E6%97%A6%E6%88%91%E4%BB%AC%E5%BE%97%E5%88%B0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E6%9C%89%E6%95%88%E5%8C%85%E5%88%97%E8%A1%A8%EF%BC%8C%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20npm%20install%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E5%AE%89%E8%A3%85%E5%AE%83%E4%BB%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cnconst%26nbsp%3BhavePackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall.length%26nbsp%3B%26gt%3B%26nbsp%3B0%3B%5Cnif%26nbsp%3B(havePackagesToInstall)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Binstall%26nbsp%3B%24%7BpackagesToInstall%7D%60%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E4%B8%BA%E5%B7%A5%E5%85%B7%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE%E6%98%AF%E6%88%91%E4%BB%AC%E7%94%A8%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E7%9A%84%E6%9C%80%E4%BD%B3%E4%BA%8B%E9%A1%B9%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA.gitignore%20%E6%96%87%E4%BB%B6%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E6%84%8F%E5%A4%96%E5%9C%B0%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E5%9C%A8%20Git%20%E4%BB%93%E5%BA%93%E4%B8%AD%E5%87%BA%E7%8E%B0%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bgitignore%26nbsp%3Bnode%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8%20gitignore%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DV%252FIoxipE2WxmNECDRNKMqg%253D%253D.7Y4d34n%252BoUVlJkYEiJt3NLa9RHn2pYtKq%252BHpO67HIQjfjKAHIxcMynZzTudktHaV%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E5%8C%85%EF%BC%8C%E4%BB%8E%20GitHub%20%E7%9A%84%20gitignore%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3E%20https%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DSzh56TKqT6gYmrJidM7ZXg%253D%253D.BK7Vf5F73GaplJKeN48OsobM6U4EPriatZOr3dBhsSVZIuIUiktyqfS1jhLLtQ7o%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E6%A8%A1%E6%9D%BF%E4%B8%AD%E6%8B%89%E5%8F%96%20Node.js%20%E7%9A%84.gitignore%20%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E7%9A%84%20EditorConfig%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DdGD5%252BEyCTqLfqDSif7%252FHgQ%253D%253D.xgNWBjR6m%252FIUFlG1UmM3CYX2R%252BLXFN531lZhlvCRRWs%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%81Prettier%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3Dn7clHFqLMZZala0zu1JjdQ%253D%253D.jivAg4cL8HkSAhuurMUHrlfhGGILOpveTQR0rjCRXyg%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%92%8C%20ESLint%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DJ4jXEAmmBQ83%252FWSrOtTsAQ%253D%253D.b%252FKC0kT%252FZWZQ9KBItXDMQHWJBzc5aW9hUZsxWHBsMY4%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E4%B8%80%E4%B8%AA%E5%8F%AB%E5%81%9A%20Mrm%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E7%9A%84%20mrm%20%E4%BE%9D%E8%B5%96%E9%A1%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--global%26nbsp%3Bmrm%26nbsp%3Bmrm-task-editorconfig%26nbsp%3Bmrm-task-prettier%26nbsp%3Bmrm-task-eslint%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%B7%BB%E5%8A%A0%20mrm%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beditorconfig%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Bprettier%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beslint%60%3B%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EMrm%20%E8%B4%9F%E8%B4%A3%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%E3%80%82%E5%AE%83%E8%BF%98%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E7%94%9F%E6%88%90%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BB%A5%E7%AC%A6%E5%90%88%E6%88%91%E4%BB%AC%E7%9A%84%E4%B8%AA%E4%BA%BA%E5%81%8F%E5%A5%BD%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20README%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E7%9A%84%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%E8%AF%BB%E5%8F%96%E9%A1%B9%E7%9B%AE%E5%90%8D%E7%A7%B0%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA%E5%9F%BA%E6%9C%AC%E7%9A%84%20Markdown%20%E6%A0%BC%E5%BC%8F%E7%9A%84%20README%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E5%86%99%E5%85%A5%20README.md%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3B%7B%26nbsp%3Bname%3A%26nbsp%3BprojectName%26nbsp%3B%7D%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BreadmeContents%26nbsp%3B%3D%26nbsp%3B%60%23%26nbsp%3B%24%7BprojectName%7D%5Cn...%5Cn%60%3B%5Cnawait%26nbsp%3Bfs.writeFile(%60%24%7BtargetDirectory%7D%2FREADME.md%60%2C%26nbsp%3BreadmeContents)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%9A%B4%E9%9C%B2%E7%9A%84%20fs.writeFile%20%E7%9A%84%20promise%20%E5%8F%98%E9%87%8F%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%8F%90%E4%BA%A4%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%80%E5%90%8E%EF%BC%8C%E6%98%AF%E6%97%B6%E5%80%99%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E7%94%A8%20git%20%E5%88%9B%E5%BB%BA%E7%9A%84%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%E4%BA%86%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Badd%26nbsp%3B.%60%3B%5Cnawait%26nbsp%3B%24%60git%26nbsp%3Bcommit%26nbsp%3B-m%26nbsp%3B%26%2334%3BAdd%26nbsp%3Bproject%26nbsp%3Bskeleton%26%2334%3B%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E6%9D%A1%E6%B6%88%E6%81%AF%EF%BC%8C%E7%A1%AE%E8%AE%A4%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B7%B2%E7%BB%8F%E6%88%90%E5%8A%9F%E5%90%AF%E5%8A%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econsole.log(%5Cn%26nbsp%3B%26nbsp%3Bchalk.green(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60%5C%5Cn%E2%9C%94%EF%B8%8F%26nbsp%3BThe%26nbsp%3Bproject%26nbsp%3B%24%7BprojectName%7D%26nbsp%3Bhas%26nbsp%3Bbeen%26nbsp%3Bsuccessfully%26nbsp%3Bbootstrapped!%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B)%5Cn)%3B%5Cnconsole.log(chalk.green(%60Add%26nbsp%3Ba%26nbsp%3Bgit%26nbsp%3Bremote%26nbsp%3Band%26nbsp%3Bpush%26nbsp%3Byour%26nbsp%3Bchanges.%60))%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%90%AF%E5%8A%A8%E6%96%B0%E9%A1%B9%E7%9B%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bnew-project%5Cn.%2Fbootstrap-tool.mjs%26nbsp%3B--directory%26nbsp%3Bnew-project%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%B9%B6%E8%A7%82%E7%9C%8B%E6%88%91%E4%BB%AC%E6%89%80%E5%81%9A%E7%9A%84%E4%B8%80%E5%88%87%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%80%BB%E7%BB%93%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E5%A6%82%E4%BD%95%E5%9C%A8%20Node.js%20%E4%B8%AD%E5%80%9F%E5%8A%A9%20Google%20%E7%9A%84%20zx%20%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E5%BC%BA%E5%A4%A7%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E4%BA%86%E5%AE%83%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%92%8C%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%81%B5%E6%B4%BB%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%B0%E7%9B%AE%E5%89%8D%E4%B8%BA%E6%AD%A2%EF%BC%8C%E6%88%91%E4%BB%AC%E6%89%80%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%8F%AA%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BC%80%E5%A7%8B%E3%80%82%E8%BF%99%E9%87%8C%E6%9C%89%E4%B8%80%E4%BA%9B%E5%8A%9F%E8%83%BD%E7%82%B9%E5%AD%90%EF%BC%8C%E4%BD%A0%E5%8F%AF%E8%83%BD%E6%83%B3%E5%B0%9D%E8%AF%95%E8%87%AA%E5%B7%B1%E6%B7%BB%E5%8A%A0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E3%80%82%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E8%BF%98%E4%B8%8D%E5%AD%98%E5%9C%A8%EF%BC%8C%E5%88%99%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E5%B9%B6%E8%AF%A2%E9%97%AE%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E6%83%B3%E8%A6%81%E4%B8%BA%E4%BB%96%E4%BB%AC%E5%88%9B%E5%BB%BA%E8%AF%A5%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BC%80%E6%BA%90%E5%8D%AB%E7%94%9F%E3%80%82%E9%97%AE%E9%97%AE%E7%94%A8%E6%88%B7%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E5%9C%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B0%86%E6%98%AF%E5%BC%80%E6%BA%90%E7%9A%84%E9%A1%B9%E7%9B%AE%E3%80%82%E5%A6%82%E6%9E%9C%E6%98%AF%E7%9A%84%E8%AF%9D%EF%BC%8C%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E8%AE%B8%E5%8F%AF%E8%AF%81%E5%92%8C%E8%B4%A1%E7%8C%AE%E8%80%85%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%20GitHub%20%E4%B8%8A%E7%9A%84%E4%BB%93%E5%BA%93%E3%80%82%E6%B7%BB%E5%8A%A0%E4%BD%BF%E7%94%A8%20GitHub%20CLI%20%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%9C%A8%20GitHub%20%E4%B8%8A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E3%80%82%E4%B8%80%E6%97%A6%E7%94%A8%20Git%20%E6%8F%90%E4%BA%A4%E4%BA%86%E5%88%9D%E5%A7%8B%E9%AA%A8%E6%9E%B6%EF%BC%8C%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E6%8E%A8%E9%80%81%E5%88%B0%E8%BF%99%E4%B8%AA%E4%BB%93%E5%BA%93%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E5%9C%A8%20GitHub%20%E4%B8%8A%E6%89%BE%E5%88%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E8%AF%91%E8%87%AA%EF%BC%9A%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5Z%252ByLQNgua%252FY5gnguxXllg%253D%253D.SeNINYETng%252BH6uZupDjhsYNRqM5GWB5jXVDlvMdMqsO9u3CmWfwe8DwT48iAvK%252Fsm8pflQ8jbxHc1sB281%252B6pA%253D%253D%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%9C%E8%80%85%EF%BC%9A%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3ESimon%20Plenderleith%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BB%A5%E4%B8%8A%E5%B0%B1%E6%98%AF%E6%9C%AC%E6%96%87%E7%9A%84%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9%E3%80%82%E5%A6%82%E6%9E%9C%E5%AF%B9%E4%BD%A0%E6%9C%89%E6%89%80%E5%B8%AE%E5%8A%A9%EF%BC%8C%E6%AC%A2%E8%BF%8E%E7%82%B9%E8%B5%9E%E3%80%81%E6%94%B6%E8%97%8F%E3%80%81%E8%BD%AC%E5%8F%91~%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Chr%3E%22%2C%22imageList%22%3A%5B%5D%2C%22mediaInfo%22%3A%7B%22userId%22%3A%22MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH%22%2C%22unsafeUserId%22%3A%224288553596503552%22%2C%22name%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22avatarUrl%22%3A%22https%3A%2F%2Fsf3-cdn-tos.toutiaostatic.com%2Fimg%2Fuser-avatar%2Fc14bb151d3505084033c82ee8238acde~300x300.image%22%2C%22description%22%3A%22%E6%AC%A2%E8%BF%8E%E5%85%B3%E6%B3%A8VX%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22userVerified%22%3A1%7D%2C%22seoTDK%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC-%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1%22%2C%22description%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22keywords%22%3A%22%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%2CNode.js%2CGoogle%2CJavaScript%2CBash%2CTypeScript%2CZsh%2CGitHub%2C%E7%BE%8E%E5%A5%BD%EF%BC%8C%E4%B8%80%E7%9B%B4%E5%9C%A8%E8%BA%AB%E8%BE%B9%22%2C%22publishTimestamp%22%3A%221678237205%22%2C%22modifiedTimestamp%22%3A%221685548306%22%7D%2C%22cover%22%3A%22https%3A%2F%2Fp3-sign.toutiaoimg.com%2Flarge%2Ftos-cn-i-qvj2lq49k0%2F7894dd4439eb4e78ad35208f496e841a%3F_iz%3D58558%26from%3Darticle.pc_detail%26x-expires%3D1690103402%26x-signature%3D5z%252FNWR2V4o%252B5W0fhczXkGuaSyYE%253D%22%2C%22logId%22%3A%222023071617100290B65219A60FE2C10ABA%22%2C%22sylpageConfig%22%3A%7B%22card%22%3A%7B%22id%22%3A%22%22%7D%7D%2C%22identity%22%3A%7B%22web_id%22%3A%227235169635611018810%22%2C%22user_is_login%22%3Afalse%7D%2C%22abtestInfo%22%3A%7B%22rsp_type%22%3A5%2C%22version_name%22%3A%224938400%22%2C%22parameters%22%3A%7B%22filter%22%3A%7B%22debug_enable_pc_small_video%22%3Afalse%2C%22enable_pc_small_video%22%3Atrue%7D%2C%22home_nav_conf%22%3A%7B%22dcd_out%22%3A1%7D%2C%22optimus%22%3A%7B%22rule_rank_rules%22%3A%22ranking_rule_list%20%7B%5Cn%20%20id%3A%201221233%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2212123%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%202%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%2020458%5Cn%20%20priority%3A%203%5Cn%20%20enabled%3A%20true%5Cn%20%20category%3A%2020458%5Cn%20%20type%3A%20WINDOW%5Cn%20%20window_rule%20%7B%5Cn%20%20%20%20type%3A%20SLIDE%5Cn%20%20%20%20size%3A%203%5Cn%20%20%20%20max%3A%201%5Cn%20%20%7D%5Cn%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%201111024%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2211024%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%206%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%22%7D%2C%22page_upgrade%22%3A%7B%22new_profile%22%3Atrue%2C%22video_double_column%22%3Atrue%7D%2C%22recall%22%3A%7B%22debug_filter_reason_list%22%3A%5B%5D%2C%22debug_recall_reason_list%22%3A%5B70%2C71%2C72%2C73%2C80%2C83%5D%2C%22enable_debug_filter_reason%22%3Atrue%2C%22enable_debug_recall_reason%22%3Atrue%2C%22friend_feed%22%3A%7B%22control_nums%22%3A1500%2C%22count%22%3A1000%2C%22enable%22%3Atrue%2C%22enable_cpp_friend_feed%22%3Atrue%2C%22enable_friend_feed_container_filter%22%3Atrue%2C%22enable_group_status_filter%22%3Atrue%2C%22params%22%3A%7B%7D%2C%22top_k%22%3A10%2C%22use_new_friend_recall%22%3Atrue%2C%22valid_group_source%22%3A%5B2%2C5%2C15%2C23%2C16%2C19%2C21%2C132%5D%2C%22weight%22%3A20%7D%7D%2C%22seraph%22%3A%7B%22rule_rank_rules_pc_small%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20%20%20%20%20%20id%3A%2022124%20%5Cn%20%20%20%20%20%20%20%20%20priority%3A%200%20%5Cn%20%20%20%20%20%20%20%20%20tags%3A%20%5C%2222124%5C%22%20%5Cn%20%20%20%20%20%20%20%20%20enabled%3A%20true%20%5Cn%20%20%20%20%20%20%20%20%20type%3A%20CARD%20%5Cn%20%20%20%20%20%20%20%20%20card_rule%20%7B%20%5Cn%20%20%20%20%20%20%20%20%20size%3A%206%20%5Cn%20%20%20%20%20%20%20%20%20num_cards%3A%201%5Cn%20%20%20%20%20%20%20%20%20type%3A%20SAME_SLOT%20%5Cn%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%22%2C%22rule_rank_rules_pc_small_window%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20id%3A%20222124%5Cn%20%20%20priority%3A%200%5Cn%20%20%20tags%3A%20%5C%2222124%5C%22%5Cn%20%20%20%20enabled%3A%20false%5Cn%20%20%20%20type%3A%20WINDOW%5Cn%20%20%20%20window_rule%20%7B%5Cn%20%20%20type%3A%20SLIDE%20%5Cn%20%20%20size%3A%2012%20%5Cn%20%20%20max%3A%206%20%5Cn%20%20%20%7D%5Cn%20%20%20%7D%22%7D%2C%22small_sort%22%3A%7B%22enable_filter_zhanwai%22%3Atrue%2C%22filter_genre_plog%22%3Afalse%2C%22filter_genre_small%22%3Afalse%2C%22skip_small_app_version_filter%22%3Afalse%2C%22skip_small_genre_filter%22%3Afalse%7D%2C%22sort%22%3A%7B%22allowed_ticai%22%3A%5B%22forum_post%22%2C%22pgc_text%22%2C%22pgc_video%22%2C%22short_video%22%5D%2C%22enable_optimus_gen_pc_mv_card%22%3Atrue%2C%22enable_optimus_gen_pc_sv_card%22%3Atrue%2C%22enable_pc_skip_app_smallvideo_card%22%3Atrue%7D%2C%22ugc_sort%22%3A%7B%22expore_smallvideo%22%3Atrue%7D%2C%22video_channel%22%3A%7B%22use_feed%22%3A1%2C%22rank%22%3A5%7D%7D%2C%22env_flag%22%3A0%7D%2C%22localCityInfo%22%3A%7B%22name%22%3A%22%E8%A5%84%E9%98%B3%22%2C%22code%22%3A%22420600%22%2C%22channelId%22%3A3202181326%7D%2C%22voteLink%22%3A%5B%7B%22keyword%22%3A%22%E6%9C%AB%E4%B8%96%E9%87%8D%E7%94%9F%EF%BC%8C%E6%88%91%E6%8A%A2%E4%BA%86%E5%A5%B3%E4%B8%BB%E7%9A%84%E9%87%91%E6%89%8B%E6%8C%87%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7045105728742231079%22%7D%2C%7B%22keyword%22%3A%22%E4%BA%BA%E5%9C%A8%E6%B5%B7%E8%B4%BC%3A%E6%88%91%E6%88%90%E4%B8%BA%E4%BA%86%E6%B5%B7%E5%86%9B%E5%A5%B3%E7%8E%8B%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7070145477789879300%22%7D%2C%7B%22keyword%22%3A%22%E6%B2%A1%E7%9E%8E%E7%9C%BC%E4%B8%89%E5%B9%B4%EF%BC%8C%E4%BD%86%E6%88%91%E7%9A%84%E5%AD%A6%E7%94%9F%E4%B8%8D%E6%98%AF%E4%BA%BA%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7118385133568134175%22%7D%2C%7B%22keyword%22%3A%22%E7%9C%9F%E5%8D%83%E9%87%91%E4%BB%8E%E4%BF%AE%E7%9C%9F%E7%95%8C%E5%9B%9E%E6%9D%A5%E4%BA%86%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F6983183491827502094%22%7D%2C%7B%22keyword%22%3A%22%E5%BC%82%E4%B8%96%E7%9B%B8%E9%81%87%E5%B0%BD%E4%BA%AB%E7%A4%BE%E6%AD%BB%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F583844%22%7D%2C%7B%22keyword%22%3A%22python%20ols%E5%9B%9E%E5%BD%92%E5%88%86%E6%9E%90%E7%BB%93%E6%9E%9C%E6%80%8E%E4%B9%88%E7%9C%8B%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131680%22%7D%2C%7B%22keyword%22%3A%22%E7%A5%9E%E5%A5%87%E5%AE%9D%E8%B4%9D%E4%B9%8B%E5%85%A8%E8%83%BD%E6%8E%8C%E9%97%A8%E4%BA%BA%E8%87%B4%E5%85%89%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F738595%22%7D%2C%7B%22keyword%22%3A%22%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3java8%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131722%22%7D%2C%7B%22keyword%22%3A%22linux%20mysql%20%E6%97%A5%E5%BF%97%E6%B8%85%E7%90%86%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1182964%22%7D%2C%7B%22keyword%22%3A%22%E6%88%91%E5%9C%A8%E5%AE%9D%E5%8F%AF%E6%A2%A6%E4%B8%96%E7%95%8C%E6%88%90%E4%B8%BA%E7%AC%AC%E4%B8%80%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F188604%22%7D%5D%2C%22grSensitive%22%3Afalse%2C%22showResearch%22%3Afalse%2C%22blockVisibility%22%3A%7B%22hotBoard%22%3Atrue%2C%22hotVideo%22%3Atrue%2C%22relatedRecommend%22%3Atrue%7D%2C%22isGreyTheme%22%3Afalse%2C%22searchBot%22%3Anull%7D%7D
npxmrmeslint`;
Mrm 负责生成配置文件,以及安装所需的 npm 包。它还提供了大量的配置选项,允许我们调整生成的配置文件以符合我们的个人偏好。
生成 README
我们可以使用我们的 readPackageJson 辅助函数,从项目的 package.json 文件中读取项目名称。然后我们可以生成一个基本的 Markdown 格式的 README,并将其写入 README.md 文件中:
const{name:projectName}=awaitreadPackageJson(targetDirectory);
constreadmeContents=`#${projectName}
...
`;
awaitfs.writeFile(`${targetDirectory}/README.md`,readmeContents);
在上面的函数中,我们正在使用 fs-extra 暴露的 fs.writeFile 的 promise 变量。
提交项目骨架
最后,是时候提交我们用 git 创建的项目骨架了:
await
社区精选|如何使用 zx 编写 shell 脚本-*今条头日**
{"@context":"https://schema.org","@type":"NewsArticle","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.toutiao.com/article/7207743318715793920/"},"headline":"社区精选|如何使用 zx 编写 shell 脚本","description":"在这篇文章中,我们将学习谷歌的 zx 库提供了什么,以及我们如何使用它来用 Node.js 编写 shell 脚本。","image":[],"datePublished":"2023-03-08T01:00:05.000Z","dateModified":"2023-05-31T15:51:46.000Z","author":{"@type":"Person","name":"计算科学与信息化","url":"https://www.toutiao.com/c/user/token/MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH/"},"publisher":{"@type":"Organization","name":"*今条头日**","logo":{"@type":"ImageObject","url":"https://lf3-static.bytednsdoc.com/obj/eden-cn/uhbfnupkbps/216.png"}}}
!function(r,e,t,n,s,a,o,i,c,l,d,p,m,f){a="precollect",o="getAttribute",i="addEventListener",(l=function(e){(d=[].slice.call(arguments)).push(Date.now(),location.href),(e==a?l.p.a:l.q).push(d)}).q=[],l.p={a:[]},r[s]=l,(p=document.createElement("script")).src=t+"?bid=toutiao_web_pc&globalName="+s,p.crossOrigin=0
window.Slardar&&window.Slardar("init",{bid:"toutiao_web_pc",pid:"news_article_detail",release:"1.0.0.1822",env:"online",sample:{sample_rate:1},plugins:{ajax:{ignoreUrls:["mcs.snssdk.com","mcs.zijieapi.com","i.snssdk.com","verify.snssdk.com","vcs.snssdk.com","mon.zijieapi.com","mon.snssdk.com"]},pageview:{routeMode:"manual"},blankScreen:{rootSelector:"#root"}}})
!function(n,t){if(n.LogAnalyticsObject=t,!n[t]){function c(){c.q.push(arguments)}c.q=c.q||[],n[t]=c}n[t].l=+new Date}(window,"collectEvent")
window.collectEvent("usePlugin","autotrack"),window.collectEvent("usePlugin","stay"),window.collectEvent("init",{app_id:24,channel:"cn",autotrack:{custom:"tea",text:!0},enable_stay_duration:!0}),window.collectEvent("config",{evtParams:{url:window.location.href,screen_width:window.screen.width,screen_height:window.screen.height,screen_inner_width:window.innerWidth,screen_inner_height:window.innerHeight}})
window.byted_acrawler&&window.byted_acrawler.init({aid:24,dfp:!0})
window.TTGCaptcha&&window.TTGCaptcha.init({commonOptions:{aid:24,iid:"0",did:"0"}})
window.secsdk&&window.secsdk.csrf.setProtectedHost({"www.toutiao.com":{GET:[],POST:[/^\/api\/pc\/user\/fans_digg/,/^\/api\/pc\/user\/delete/,/^\/api\/pc\/user\/follow/,/^\/c\/ugc\/content\/repost/,/^\/group\/repin/,/^\/group\/unrepin/,/^\/api\/pc\/user\/stick/,/^\/api\/pc\/user\/unstick/,/^\/c\/user\/unfollow/,/^\/wenda\/v5\/interact\/followanswer/,/^\/wenda\/v5\/interact\/followquestion/,/^\/wenda\/v5\/interact\/digganswer/,/^\/wenda\/v5\/interact\/deleteanswer/,/^\/user_data\/batch_action/],PUT:[],PATCH:[],DELETE:[]}})
"undefined"!=typeof window&&"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("/sw.js").catch(function(e){window.Slardar&&window.Slardar("emit","counter",{name:"sw-register-error",value:1})})})
function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-QEHZPBE5HH")
%7B%22data%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%22%2C%22abstract%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22articleType%22%3A%22article%22%2C%22itemId%22%3A%227207743318715793920%22%2C%22groupId%22%3A%227207743318715793920%22%2C%22groupSource%22%3A2%2C%22isOriginal%22%3Afalse%2C%22banComment%22%3Afalse%2C%22publishTime%22%3A%222023-03-08%2009%3A00%22%2C%22source%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22tag%22%3A%22technique%22%2C%22mediaSite%22%3Anull%2C%22pathname%22%3A%22%2Farticle%2F7207743318715793920%2F%22%2C%22useCandle%22%3Afalse%2C%22isExclusive%22%3Afalse%2C%22favorite%22%3Afalse%2C%22relation%22%3A%7B%22isFollowing%22%3Afalse%2C%22isFollowed%22%3Afalse%7D%2C%22likeData%22%3A%7B%22userLikeStatus%22%3A0%2C%22count%22%3A1%7D%2C%22isSelf%22%3Afalse%2C%22content%22%3A%22%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%89%8D%E8%A8%80%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E6%9D%A5%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E5%BC%95%E5%AF%BC%E9%85%8D%E7%BD%AE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E7%BC%96%E5%86%99%20Shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E9%97%AE%E9%A2%98%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%94%B1%20Bash%20%E6%88%96%E8%80%85%20zsh%20%E6%89%A7%E8%A1%8C%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%98%AF%E8%87%AA%E5%8A%A8%E5%8C%96%E9%87%8D%E5%A4%8D%E4%BB%BB%E5%8A%A1%E7%9A%84%E5%A5%BD%E6%96%B9%E6%B3%95%E3%80%82Node.js%20%E4%BC%BC%E4%B9%8E%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E7%90%86%E6%83%B3%E9%80%89%E6%8B%A9%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E8%AE%B8%E5%A4%9A%E6%A0%B8%E5%BF%83%E6%A8%A1%E5%9D%97%EF%BC%8C%E5%B9%B6%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E5%AF%BC%E5%85%A5%E4%BB%BB%E4%BD%95%E6%88%91%E4%BB%AC%E9%80%89%E6%8B%A9%E7%9A%84%E5%BA%93%E3%80%82%E5%AE%83%E8%BF%98%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%AE%BF%E9%97%AE%20JavaScript%20%E6%8F%90%E4%BE%9B%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E5%92%8C%E5%86%85%E7%BD%AE%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E4%BD%A0%E5%B0%9D%E8%AF%95%E7%BC%96%E5%86%99%E8%BF%90%E8%A1%8C%E5%9C%A8%20Node.js%20%E4%B8%AD%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E4%BD%A0%E4%BC%9A%E5%8F%91%E7%8E%B0%E8%BF%99%E6%B2%A1%E6%9C%89%E4%BD%A0%E6%83%B3%E8%B1%A1%E4%B8%AD%E7%9A%84%E9%82%A3%E4%B9%88%E9%A1%BA%E5%88%A9%E3%80%82%E4%BD%A0%E9%9C%80%E8%A6%81%E4%B8%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%BC%96%E5%86%99%E7%89%B9%E6%AE%8A%E7%9A%84%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%EF%BC%8C%E6%B3%A8%E6%84%8F%E8%BD%AC%E4%B9%89%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%EF%BC%8C%E7%84%B6%E5%90%8E%E6%9C%80%E7%BB%88%E4%B8%8E%20stdout%EF%BC%88%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%89%E5%92%8C%20stderr%EF%BC%88%E6%A0%87%E5%87%86%E9%94%99%E8%AF%AF%EF%BC%89%E6%89%93%E4%BA%A4%E9%81%93%E3%80%82%E8%BF%99%E4%B8%8D%E6%98%AF%E7%89%B9%E5%88%AB%E7%9B%B4%E8%A7%82%EF%BC%8C%E8%80%8C%E4%B8%94%E4%BC%9A%E4%BD%BF%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E7%9B%B8%E5%BD%93%E7%AC%A8%E6%8B%99%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EBash%20shell%20%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E6%99%AE%E9%81%8D%E9%80%89%E6%8B%A9%E3%80%82%E4%B8%8D%E9%9C%80%E8%A6%81%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%E6%9D%A5%E5%A4%84%E7%90%86%E5%AD%90%E8%BF%9B%E7%A8%8B%EF%BC%8C%E8%80%8C%E4%B8%94%E5%AE%83%E6%9C%89%E5%86%85%E7%BD%AE%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E6%9D%A5%E5%A4%84%E7%90%86%20stdout%20%E5%92%8C%20stderr%E3%80%82%E4%BD%86%E6%98%AF%E7%94%A8%20Bash%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E4%B9%9F%E4%B8%8D%E6%98%AF%E9%82%A3%E4%B9%88%E5%AE%B9%E6%98%93%E3%80%82%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9B%B8%E5%BD%93%E6%B7%B7%E4%B9%B1%EF%BC%8C%E4%BD%BF%E5%BE%97%E5%AE%83%E5%AE%9E%E7%8E%B0%E9%80%BB%E8%BE%91%EF%BC%8C%E6%88%96%E8%80%85%E5%A4%84%E7%90%86%E8%AF%B8%E5%A6%82%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E7%9A%84%E4%BA%8B%E6%83%85%E9%9D%9E%E5%B8%B8%E5%9B%B0%E9%9A%BE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%9C%89%E5%8A%A9%E4%BA%8E%E8%AE%A9%E4%BD%BF%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E9%AB%98%E6%95%88%E5%92%8C%E8%88%92%E9%80%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BE%80%E4%B8%8B%E9%98%85%E8%AF%BB%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%E9%9C%80%E8%A6%81%E9%81%B5%E5%BE%AA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%90%86%E6%83%B3%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E4%BD%A0%E5%BA%94%E8%AF%A5%E7%86%9F%E6%82%89%20JavaScript%20%E5%92%8C%20Node.js%20%E7%9A%84%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E9%80%82%E5%BA%94%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20Node.js%20%26gt%3B%3D%20v14.13.1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cbr%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E4%BB%8E%20GitHub%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DysCUhsc%252BhqUmtqCo55t8jw%253D%253D.aWhjUaPje6eTlkcFFdhW%252FeIVYyAz5G%252FoPbGuXjsxlpcJphMKguwz3NoHWQ9o2vDb47Nfnm9kpIP6Ol5r6Euc8A%253D%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E8%8E%B7%E5%BE%97%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E8%BF%90%E4%BD%9C%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EGoogle%20%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%88%9B%E5%BB%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%A4%84%E7%90%86%E8%BF%99%E4%BA%9B%E8%BF%9B%E7%A8%8B%E7%9A%84%20stdout%20%E5%92%8C%20stderr%20%E7%9A%84%E5%87%BD%E6%95%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E7%9A%84%E4%B8%BB%E8%A6%81%E5%87%BD%E6%95%B0%E6%98%AF%24%E5%87%BD%E6%95%B0%E3%80%82%E4%B8%8B%E9%9D%A2%E6%98%AF%E5%AE%83%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AE%9E%E9%99%85%E4%BE%8B%E5%AD%90%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnawait%26nbsp%3B%24%60ls%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E6%89%A7%E8%A1%8C%E4%B8%8A%E8%BF%B0%E4%BB%A3%E7%A0%81%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnbootstrap-tool%5Cnhello-world%5Cnnode_modules%5Cnpackage.json%5CnREADME.md%5Cntypescript%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%E7%9A%84%20JavaScript%20%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9C%8B%E8%B5%B7%E6%9D%A5%E6%9C%89%E7%82%B9%E5%8F%A4%E6%80%AA%E3%80%82%E5%AE%83%E4%BD%BF%E7%94%A8%E4%BA%86%E4%B8%80%E7%A7%8D%E5%8F%AB%E5%81%9A%E5%B8%A6%E6%A0%87%E7%AD%BE%E7%9A%84%E6%A8%A1%E6%9D%BF%E5%AD%97%E7%AC%A6%E4%B8%B2%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DVUkodq5er%252Fynbhfl3MUQZA%253D%253D.%252Flx6oaDCVK4XuYyYLqvDi2QMWjCwW1jKBvNQgfaGG0AVwpl7I2CYD4sJYHuonDSA6jj1qSSypc0aGVO%252BYuBMUiibG6pBkVwusg%252Bai1hbMXetqlwMTWVUEAbtabMCbXIs%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E3%80%82%E5%AE%83%E5%9C%A8%E5%8A%9F%E8%83%BD%E4%B8%8A%E4%B8%8E%E7%BC%96%E5%86%99%20await%20%24(%26%2334%3Bls%26%2334%3B)%E7%9B%B8%E5%90%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%85%B6%E4%BB%96%E5%87%A0%E4%B8%AA%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%EF%BC%8C%E4%BD%BF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E6%9B%B4%E5%AE%B9%E6%98%93%E3%80%82%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ecd()%E3%80%82%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E6%9B%B4%E6%94%B9%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Equestion()%E3%80%82%E8%BF%99%E6%98%AF%20Node.js%20readline%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%8C%85%E8%A3%85%E5%99%A8%E3%80%82%E5%AE%83%E4%BD%BF%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E5%8F%98%E5%BE%97%E7%AE%80%E5%8D%95%E6%98%8E%E4%BA%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%99%A4%E4%BA%86%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%A4%96%EF%BC%8C%E5%AE%83%E8%BF%98%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E5%87%A0%E4%B8%AA%E6%B5%81%E8%A1%8C%E7%9A%84%E5%BA%93%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Echalk%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D%252FL15Y8OQNrp05Scx6N4iaQ%253D%253D.r8AZkfcE1Ye%252BlNUznFA9RNJMhfyM0lttTiD0TmqjJQwoi7zjQjs5YiLjI%252FWDEooY%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%99%E4%B8%AA%E5%BA%93%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E4%B8%BA%E8%84%9A%E6%9C%AC%E7%9A%84%E8%BE%93%E5%87%BA%E6%B7%BB%E5%8A%A0%E9%A2%9C%E8%89%B2%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Eminimist%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5tMQ5d6qJ4STEHZeuiN0MA%253D%253D.x9GPOpXVZp5TGKknZCkwA10QP%252Ftw%252BW7fwnpYGg%252BnlJPJLK3RboT3jqy5WuPLFwPZ%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E4%B8%AA%E8%A7%A3%E6%9E%90%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E7%9A%84%E5%BA%93%E3%80%82%E7%84%B6%E5%90%8E%E5%AE%83%E4%BB%AC%E5%9C%A8%20argv%20%E5%AF%B9%E8%B1%A1%E4%B8%8B%E8%A2%AB%E6%9A%B4%E9%9C%B2%E5%87%BA%E6%9D%A5%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efetch%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D71LC44tCu%252FZoLOY2B7MfuA%253D%253D.GO%252FMi37T0KTmj8UXau9xdFUBiIk1I%252F8M%252FHk2hZYrhRb%252Fd3Vl0bzlr05hanNxzuVb%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EFetch%20API%20%E7%9A%84%20Node.js%20%E5%AE%9E%E7%8E%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E8%BF%9B%E8%A1%8C%20HTTP%20%E8%AF%B7%E6%B1%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efs-extra%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DcPZzXniTRFJdbq87FdwLWw%253D%253D.IsmhSUEjIcZAqw8FDidbUnNhhIVPT1gsFSo%252BchiXCAs9AaxUVT%252FEgbIvswUDVmK2%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%B8%80%E4%B8%AA%E6%9A%B4%E9%9C%B2%20Node.js%20%E6%A0%B8%E5%BF%83%20fs%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%BA%93%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B9%E6%B3%95%EF%BC%8C%E4%BD%BF%E5%85%B6%E6%9B%B4%E5%AE%B9%E6%98%93%E4%B8%8E%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%80%E8%B5%B7%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9F%A5%E9%81%93%E4%BA%86%20zx%20%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E4%BB%80%E4%B9%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E7%94%A8%E5%AE%83%E5%88%9B%E5%BB%BA%E7%AC%AC%E4%B8%80%E4%B8%AA%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bzx-shell-scripts%5Cncd%26nbsp%3Bzx-shell-scripts%5Cnnpm%26nbsp%3Binit%26nbsp%3B--yes%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%AE%89%E8%A3%85%20zx%20%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bzx%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E7%9A%84%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E7%94%A8%20npm%20%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E8%AF%A5%E5%BA%93%E3%80%82%E9%80%9A%E8%BF%87%E5%B0%86%E5%85%B6%E5%AE%89%E8%A3%85%E4%B8%BA%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%A1%AE%E4%BF%9D%20zx%20%E6%80%BB%E6%98%AF%E8%A2%AB%E5%AE%89%E8%A3%85%EF%BC%8C%E5%B9%B6%E6%8E%A7%E5%88%B6%20shell%20%E8%84%9A%E6%9C%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E7%89%88%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A1%B6%E7%BA%A7%20await%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%20Node.js%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E9%A1%B6%E7%BA%A7%20await%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%20await%20%E4%BD%8D%E4%BA%8E%20async%20%E5%87%BD%E6%95%B0%E7%9A%84%E5%A4%96%E9%83%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%9C%A8%20ES%20%E6%A8%A1%E5%9D%97%E7%9A%84%E6%A8%A1%E5%BC%8F%E4%B8%8B%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%EF%BC%8C%E8%AF%A5%E6%A8%A1%E5%BC%8F%E6%94%AF%E6%8C%81%E9%A1%B6%E7%BA%A7%20await%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%20package.json%20%E4%B8%AD%E6%B7%BB%E5%8A%A0%20%26%2334%3Btype%26%2334%3B%3A%20%26%2334%3Bmodule%26%2334%3B%20%E6%80%8E%E4%B9%88%E6%80%8E%E4%B9%88%E6%9D%A5%E8%A1%A8%E6%98%8E%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%A8%A1%E5%9D%97%E9%83%BD%E6%98%AF%20ES%20%E6%A8%A1%E5%9D%97%E3%80%82%E6%88%96%E8%80%85%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%B0%86%E5%8D%95%E4%B8%AA%E8%84%9A%E6%9C%AC%E7%9A%84%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E8%AE%BE%E7%BD%AE%E4%B8%BA%20.mjs%20%E3%80%82%E5%9C%A8%E6%9C%AC%E6%96%87%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20.mjs%20%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E5%B9%B6%E6%8D%95%E8%8E%B7%E8%BE%93%E5%87%BA%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B0%86%E5%85%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world.mjs%20%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%AE%83%E5%91%8A%E8%AF%89%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%88OS%EF%BC%89%E7%9A%84%E5%86%85%E6%A0%B8%E8%A6%81%E7%94%A8%20node%20%E7%A8%8B%E5%BA%8F%E8%BF%90%E8%A1%8C%E8%AF%A5%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%BA%9B%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%BD%BF%E7%94%A8%20zx%20%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8B%E9%9D%A2%E7%9A%84%E4%BB%A3%E7%A0%81%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%20ls%20%E7%A8%8B%E5%BA%8F%E3%80%82ls%20%E7%A8%8B%E5%BA%8F%E5%B0%86%E5%88%97%E5%87%BA%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%88%E8%84%9A%E6%9C%AC%E6%89%80%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%EF%BC%89%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BB%8E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BF%9B%E7%A8%8B%E4%B8%AD%E6%8D%95%E8%8E%B7%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B0%86%E5%85%B6%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E7%84%B6%E5%90%8E%E6%89%93%E5%8D%B0%E5%88%B0%E7%BB%88%E7%AB%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cnconsole.log(output)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E6%8A%8A%2Fusr%2Fbin%2Fenv%20zx%20%E6%94%BE%E5%9C%A8%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E7%9A%84%20shebang%20%E8%A1%8C%E4%B8%AD%EF%BC%8C%E4%BD%86%E6%88%91%E4%BB%AC%E7%94%A8%2Fusr%2Fbin%2Fenv%20node%20%E4%BB%A3%E6%9B%BF%E3%80%82%E8%BF%99%E6%98%AF%E5%9B%A0%E4%B8%BA%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%20zx%EF%BC%8C%E5%B9%B6%E4%BD%9C%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E6%98%8E%E7%A1%AE%E5%9C%B0%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E6%83%B3%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%E3%80%82%E8%BF%99%E6%9C%89%E5%8A%A9%E4%BA%8E%E6%98%8E%E7%A1%AE%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E4%BE%9D%E8%B5%96%E6%9D%A5%E8%87%AA%E5%93%AA%E9%87%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%20chmod%20%E6%9D%A5%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E5%A6%82%E4%B8%8B%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%88ls%EF%BC%89%E8%A2%AB%E5%8C%85%E5%90%AB%E5%9C%A8%E8%BE%93%E5%87%BA%E4%B8%AD%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%E6%98%BE%E7%A4%BA%E4%B8%A4%E6%AC%A1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BE%93%E5%87%BA%E7%9A%84%E6%9C%AB%E5%B0%BE%E5%A4%9A%E4%BA%86%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E9%BB%98%E8%AE%A4%E4%BB%A5%20verbose%20%E6%A8%A1%E5%BC%8F%E8%BF%90%E8%A1%8C%E3%80%82%E5%AE%83%E5%B0%86%E8%BE%93%E5%87%BA%E4%BD%A0%E4%BC%A0%E9%80%92%E7%BB%99%24%E5%87%BD%E6%95%B0%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%90%8C%E6%97%B6%E4%B9%9F%E8%BE%93%E5%87%BA%E8%AF%A5%E5%91%BD%E4%BB%A4%E7%9A%84%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%E8%BF%90%E8%A1%8C%20ls%20%E5%91%BD%E4%BB%A4%E5%89%8D%E5%8A%A0%E5%85%A5%E4%BB%A5%E4%B8%8B%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E6%9D%A5%E6%94%B9%E5%8F%98%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A4%A7%E5%A4%9A%E6%95%B0%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%A6%82%20ls%EF%BC%8C%E4%BC%9A%E5%9C%A8%E5%85%B6%E8%BE%93%E5%87%BA%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E5%AD%97%E7%AC%A6%EF%BC%8C%E4%BB%A5%E4%BD%BF%E8%BE%93%E5%87%BA%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E6%9B%B4%E6%98%93%E8%AF%BB%E3%80%82%E8%BF%99%E5%AF%B9%E5%8F%AF%E8%AF%BB%E6%80%A7%E6%9C%89%E5%A5%BD%E5%A4%84%EF%BC%8C%E4%BD%86%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E8%A6%81%E5%B0%86%E8%BE%93%E5%87%BA%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E6%9C%89%E8%BF%99%E4%B8%AA%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B0%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%20JavaScript%20String%23trim()%E5%87%BD%E6%95%B0%E6%8A%8A%E5%AE%83%E5%8E%BB%E6%8E%89%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E-%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cn%2B%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout.trim()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%86%8D%E6%AC%A1%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E7%BB%93%E6%9E%9C%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%A5%BD%E5%BE%88%E5%A4%9A%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ehello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%BC%95%E5%85%A5%20TypeScript%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E6%83%B3%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%BC%96%E5%86%99%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%BE%AE%E5%B0%8F%E7%9A%84%E5%8C%BA%E5%88%AB%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%8A%A0%E4%BB%A5%E8%AF%B4%E6%98%8E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9ATypeScript%20%E7%BC%96%E8%AF%91%E5%99%A8%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E5%AE%83%E5%A6%82%E4%BD%95%E7%BC%96%E8%AF%91%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%E8%80%83%E8%99%91%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E4%B8%8B%E9%9D%A2%E7%9A%84%20TypeScript%20%E9%85%8D%E7%BD%AE%E5%92%8C%E4%BB%A3%E7%A0%81%E6%98%AF%E4%B8%BA%E4%BA%86%E5%9C%A8%E5%A4%A7%E5%A4%9A%E6%95%B0%20TypeScript%20%E7%89%88%E6%9C%AC%E4%B8%8B%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E5%AE%89%E8%A3%85%E9%9C%80%E8%A6%81%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E7%9A%84%E4%BE%9D%E8%B5%96%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Btypescript%26nbsp%3Bts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ets-node%20%E5%8C%85%E6%8F%90%E4%BE%9B%E4%BA%86%E4%B8%80%E4%B8%AA%20TypeScript%20%E6%89%A7%E8%A1%8C%E5%BC%95%E6%93%8E%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E8%83%BD%E5%A4%9F%E8%BD%AC%E8%AF%91%E5%92%8C%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%9C%80%E8%A6%81%E5%88%9B%E5%BB%BA%20tsconfig.json%20%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E4%B8%8B%E9%9D%A2%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%7B%5Cn%26%2334%3BcompilerOptions%26%2334%3B%3A%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Btarget%26%2334%3B%3A%26nbsp%3B%26%2334%3Bes2017%26%2334%3B%2C%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Bmodule%26%2334%3B%3A%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5Cn%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E6%96%B0%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B9%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world-typescript.ts%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E6%B7%BB%E5%8A%A0%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%91%8A%E8%AF%89%20OS%20%E5%86%85%E6%A0%B8%E4%BD%BF%E7%94%A8%20ts-node%20%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B.%2Fnode_modules%2F.bin%2Fts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E4%B8%AD%E4%BD%BF%E7%94%A8%20await%20%E5%85%B3%E9%94%AE%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E6%8A%8A%E5%AE%83%E5%8C%85%E8%A3%85%E5%9C%A8%E4%B8%80%E4%B8%AA%E7%AB%8B%E5%8D%B3%E8%B0%83%E7%94%A8%E5%87%BD%E6%95%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%EF%BC%88IIFE%EF%BC%89%E4%B8%AD%EF%BC%8C%E6%AD%A3%E5%A6%82%20zx%20%E6%96%87%E6%A1%A3%E6%89%80%E5%BB%BA%E8%AE%AE%E7%9A%84%E9%82%A3%E6%A0%B7%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world-typescript.ts%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnvoid%26nbsp%3B(async%26nbsp%3Bfunction%26nbsp%3B()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60ls%60%3B%5Cn%7D)()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E9%9C%80%E8%A6%81%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E4%B8%8B%E9%9D%A2%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world-typescript.ts%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cntsconfig.json%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%E8%84%9A%E6%9C%AC%E4%B8%8E%E4%BD%BF%E7%94%A8%20JavaScript%20%E7%9B%B8%E4%BC%BC%EF%BC%8C%E4%BD%86%E9%9C%80%E8%A6%81%E5%AF%B9%E6%88%91%E4%BB%AC%E7%9A%84%E4%BB%A3%E7%A0%81%E8%BF%9B%E8%A1%8C%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E9%85%8D%E7%BD%AE%E5%92%8C%E5%8C%85%E8%A3%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%9E%84%E5%BB%BA%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E7%94%A8%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AF%86%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E7%94%A8%E5%AE%83%E6%9D%A5%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B7%A5%E5%85%B7%E3%80%82%E8%BF%99%E4%B8%AA%E5%B7%A5%E5%85%B7%E5%B0%86%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E9%80%9A%E5%B8%B8%E5%BE%88%E8%80%97%E6%97%B6%E7%9A%84%E8%BF%87%E7%A8%8B%EF%BC%9A%E4%B8%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E7%9A%84%E9%85%8D%E7%BD%AE%E6%8F%90%E4%BE%9B%E5%BC%95%E5%AF%BC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BA%A4%E4%BA%92%E5%BC%8F%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E3%80%82%E5%AE%83%E8%BF%98%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E5%86%85%E7%BD%AE%E7%9A%84%20chalk%20%E5%BA%93%EF%BC%8C%E4%BB%A5%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A2%9C%E8%89%B2%E9%AB%98%E4%BA%AE%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B9%B6%E6%8F%90%E4%BE%9B%E4%B8%80%E4%B8%AA%E5%8F%8B%E5%A5%BD%E7%9A%84%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C%E3%80%82%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E8%BF%98%E5%B0%86%E5%AE%89%E8%A3%85%E6%96%B0%E9%A1%B9%E7%9B%AE%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%EF%BC%8C%E6%89%80%E4%BB%A5%E5%AE%83%E5%B7%B2%E7%BB%8F%E5%87%86%E5%A4%87%E5%A5%BD%E8%AE%A9%E6%88%91%E4%BB%AC%E7%AB%8B%E5%8D%B3%E5%BC%80%E5%A7%8B%E5%BC%80%E5%8F%91%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%87%86%E5%A4%87%E5%BC%80%E5%A7%8B%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%90%8D%E4%B8%BA%20bootstrap-tool.mjs%20%E7%9A%84%E6%96%B0%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B9%B6%E6%B7%BB%E5%8A%A0%20shebang%20%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E6%A8%A1%E5%9D%97%EF%BC%8C%E4%BB%A5%E5%8F%8A%20Node.js%20%E6%A0%B8%E5%BF%83%20path%20%E6%A8%A1%E5%9D%97%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%2F%2F%26nbsp%3Bbootstrap-tool.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%2C%26nbsp%3Bargv%2C%26nbsp%3Bcd%2C%26nbsp%3Bchalk%2C%26nbsp%3Bfs%2C%26nbsp%3Bquestion%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnimport%26nbsp%3Bpath%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bpath%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8E%E6%88%91%E4%BB%AC%E4%B9%8B%E5%89%8D%E5%88%9B%E5%BB%BA%E7%9A%84%E8%84%9A%E6%9C%AC%E4%B8%80%E6%A0%B7%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bbootstrap-tool.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E7%94%A8%E7%BA%A2%E8%89%B2%E6%96%87%E6%9C%AC%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%EF%BC%8C%E5%B9%B6%E4%BB%A5%E9%94%99%E8%AF%AF%E9%80%80%E5%87%BA%E4%BB%A3%E7%A0%81%201%20%E9%80%80%E5%87%BA%20Node.js%20%E8%BF%9B%E7%A8%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Efunction%26nbsp%3BexitWithError(errorMessage)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconsole.error(chalk.red(errorMessage))%3B%5Cn%26nbsp%3B%26nbsp%3Bprocess.exit(1)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BD%93%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%A4%84%E7%90%86%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E9%80%9A%E8%BF%87%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%9C%A8%E5%90%84%E4%B8%AA%E5%9C%B0%E6%96%B9%E4%BD%BF%E7%94%A8%E8%BF%99%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%E4%B8%89%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%9Agit%E3%80%81node%20%E5%92%8C%20npx%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20which%20%E5%BA%93%E6%9D%A5%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E6%A3%80%E6%9F%A5%E8%BF%99%E4%BA%9B%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%E5%B9%B6%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20which%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bwhich%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%BC%95%E5%85%A5%E5%AE%83%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3Bwhich%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bwhich%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BD%BF%E7%94%A8%E5%AE%83%E7%9A%84%20checkRequiredProgramsExist%20%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckRequiredProgramsExist(programs)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3Bprogram%26nbsp%3Bof%26nbsp%3Bprograms)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bwhich(program)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BRequired%26nbsp%3Bcommand%26nbsp%3B%24%7Berror.message%7D%60)%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%90%8D%E7%A7%B0%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%95%B0%E7%BB%84%EF%BC%8C%E5%AF%B9%E6%AF%8F%E4%B8%AA%E7%A8%8B%E5%BA%8F%E8%B0%83%E7%94%A8%20which%20%E5%87%BD%E6%95%B0%E3%80%82%E5%A6%82%E6%9E%9C%20which%20%E6%89%BE%E5%88%B0%E4%BA%86%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%B7%AF%E5%BE%84%EF%BC%8C%E5%AE%83%E5%B0%86%E8%BF%94%E5%9B%9E%E8%AF%A5%E7%A8%8B%E5%BA%8F%E3%80%82%E5%90%A6%E5%88%99%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%AF%A5%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E6%8A%9B%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E3%80%82%E5%A6%82%E6%9E%9C%E6%9C%89%E4%BB%BB%E4%BD%95%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E8%B0%83%E7%94%A8%20exitWithError%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%E5%B9%B6%E5%81%9C%E6%AD%A2%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%8F%AF%E4%BB%A5%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%AF%B9%20checkRequiredProgramsExist%20%E7%9A%84%E8%B0%83%E7%94%A8%EF%BC%8C%E4%BB%A5%E6%A3%80%E6%9F%A5%E6%88%91%E4%BB%AC%E7%9A%84%E5%B7%A5%E5%85%B7%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%8F%AF%E7%94%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckRequiredProgramsExist(%5B%26%2334%3Bgit%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnode%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnpx%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%B7%BB%E5%8A%A0%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E9%80%89%E9%A1%B9%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%B0%86%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E5%90%AF%E5%8A%A8%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%88%91%E4%BB%AC%E5%B8%8C%E6%9C%9B%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9A%84%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E3%80%82%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E8%A6%81%E7%BB%99%E8%84%9A%E6%9C%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20--directory%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E5%86%85%E7%BD%AE%E4%BA%86%20minimist%20%E5%8C%85%EF%BC%8C%E5%AE%83%E8%83%BD%E5%A4%9F%E8%A7%A3%E6%9E%90%E4%BC%A0%E9%80%92%E7%BB%99%E8%84%9A%E6%9C%AC%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%E8%BF%99%E4%BA%9B%E8%A2%AB%E8%A7%A3%E6%9E%90%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E8%A2%AB%20zx%20%E5%8C%85%E4%BD%9C%E4%B8%BA%20argv%20%E6%8F%90%E4%BE%9B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E5%90%8D%E4%B8%BA%20directory%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E6%A3%80%E6%9F%A5%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Elet%26nbsp%3BtargetDirectory%26nbsp%3B%3D%26nbsp%3Bargv.directory%3B%5Cnif%26nbsp%3B(!targetDirectory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%26%2334%3BError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%26%2334%3B)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%20directory%20%E5%8F%82%E6%95%B0%E8%A2%AB%E4%BC%A0%E9%80%92%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%E5%AE%83%E6%98%AF%E5%90%A6%E6%98%AF%E5%B7%B2%E7%BB%8F%E5%AD%98%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%E7%9A%84%E8%B7%AF%E5%BE%84%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%8F%90%E4%BE%9B%E7%9A%84%20fs.pathExists%20%E6%96%B9%E6%B3%95%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3EtargetDirectory%26nbsp%3B%3D%26nbsp%3Bpath.resolve(targetDirectory)%3B%5Cnif%26nbsp%3B(!(await%26nbsp%3Bfs.pathExists(targetDirectory)))%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BTarget%26nbsp%3Bdirectory%26nbsp%3B%26%2339%3B%24%7BtargetDirectory%7D%26%2339%3B%26nbsp%3Bdoes%26nbsp%3Bnot%26nbsp%3Bexist%60)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E8%B7%AF%E5%BE%84%E5%AD%98%E5%9C%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%20cd%20%E5%87%BD%E6%95%B0%E6%9D%A5%E5%88%87%E6%8D%A2%E5%BD%93%E5%89%8D%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%9A%E2%80%8D%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ecd(targetDirectory)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%9C%A8%E6%B2%A1%E6%9C%89--directory%20%E5%8F%82%E6%95%B0%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E5%BA%94%E8%AF%A5%E4%BC%9A%E6%94%B6%E5%88%B0%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3B.%2Fbootstrap-tool.mjs%5CnError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E5%85%A8%E5%B1%80%20Git%20%E8%AE%BE%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%A8%8D%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%8C%E4%BD%86%E9%A6%96%E5%85%88%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%20Git%20%E6%98%AF%E5%90%A6%E6%9C%89%E5%AE%83%E9%9C%80%E8%A6%81%E7%9A%84%E9%85%8D%E7%BD%AE%E3%80%82%E6%88%91%E4%BB%AC%E8%A6%81%E7%A1%AE%E4%BF%9D%E6%8F%90%E4%BA%A4%E4%BC%9A%E8%A2%AB%20GitHub%20%E7%AD%89%E4%BB%A3%E7%A0%81%E6%89%98%E7%AE%A1%E6%9C%8D%E5%8A%A1%E6%AD%A3%E7%A1%AE%E5%BD%92%E7%B1%BB%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%81%9A%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E8%BF%99%E9%87%8C%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E7%B4%A2%20Git%20%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%E7%9A%84%E5%80%BC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetGlobalGitSettingValue(settingName)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B%26%2334%3B%26%2334%3B%3B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60git%26nbsp%3Bconfig%26nbsp%3B--global%26nbsp%3B--get%26nbsp%3B%24%7BsettingName%7D%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B).stdout.trim()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%2F%2F%26nbsp%3BIgnore%26nbsp%3Bprocess%26nbsp%3Boutput%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BsettingValue%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E5%85%B3%E9%97%AD%20zx%20%E9%BB%98%E8%AE%A4%E8%AE%BE%E7%BD%AE%E7%9A%84%20verbose%20%E6%A8%A1%E5%BC%8F%E3%80%82%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%EF%BC%8C%E5%BD%93%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%97%B6%EF%BC%8C%E8%AF%A5%E5%91%BD%E4%BB%A4%E5%92%8C%E5%AE%83%E5%8F%91%E9%80%81%E5%88%B0%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E7%9A%84%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9%E9%83%BD%E4%B8%8D%E4%BC%9A%E8%A2%AB%E6%98%BE%E7%A4%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%9C%A8%E5%87%BD%E6%95%B0%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E5%B0%86%20verbose%20%E6%A8%A1%E5%BC%8F%E9%87%8D%E6%96%B0%E6%89%93%E5%BC%80%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E5%BD%B1%E5%93%8D%E5%88%B0%E6%88%91%E4%BB%AC%E7%A8%8D%E5%90%8E%E5%9C%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%85%B6%E4%BB%96%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%20checkGlobalGitSettings%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A5%E5%87%BD%E6%95%B0%E6%8E%A5%E6%94%B6%20Git%20%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%E7%BB%84%E6%88%90%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%B0%86%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%AF%8F%E4%B8%AA%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E4%BC%A0%E9%80%92%E7%BB%99%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E4%BB%A5%E6%A3%80%E7%B4%A2%E5%85%B6%E5%80%BC%E3%80%82%E5%A6%82%E6%9E%9C%E8%AE%BE%E7%BD%AE%E6%B2%A1%E6%9C%89%E5%80%BC%EF%BC%8C%E5%B0%86%E6%98%BE%E7%A4%BA%E8%AD%A6%E5%91%8A%E4%BF%A1%E6%81%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckGlobalGitSettings(settingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3BsettingName%26nbsp%3Bof%26nbsp%3BsettingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetGlobalGitSettingValue(settingName)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!settingValue)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.warn(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.yellow(%60Warning%3A%26nbsp%3BGlobal%26nbsp%3Bgit%26nbsp%3Bsetting%26nbsp%3B%26%2339%3B%24%7BsettingName%7D%26%2339%3B%26nbsp%3Bis%26nbsp%3Bnot%26nbsp%3Bset.%60)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E7%BB%99%20checkGlobalGitSettings%20%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E8%B0%83%E7%94%A8%EF%BC%8C%E6%A3%80%E6%9F%A5%20user.name%20%E5%92%8C%20user.email%20%E7%9A%84%20Git%20%E8%AE%BE%E7%BD%AE%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E8%A2%AB%E8%AE%BE%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckGlobalGitSettings(%5B%26%2334%3Buser.name%26%2334%3B%2C%26nbsp%3B%26%2334%3Buser.email%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%88%9D%E5%A7%8B%E5%8C%96%20Git%20%E4%BB%93%E5%BA%93%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E6%B7%BB%E5%8A%A0%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Binit%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20package.json%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%AF%8F%E4%B8%AA%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%83%BD%E9%9C%80%E8%A6%81%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E8%BF%99%E6%98%AF%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E5%AE%9A%E4%B9%89%E5%85%83%E6%95%B0%E6%8D%AE%E7%9A%84%E5%9C%B0%E6%96%B9%EF%BC%8C%E6%8C%87%E5%AE%9A%E9%A1%B9%E7%9B%AE%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E5%8C%85%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%B7%BB%E5%8A%A0%E5%AE%9E%E7%94%A8%E7%9A%84%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%94%9F%E6%88%90%20package.json%20%E6%96%87%E4%BB%B6%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E5%87%A0%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%98%AF%20readPackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%AF%BB%E5%8F%96%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BreadPackageJson(directory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3Bfs.readJSON(packageJsonFilepath)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20writePackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E5%90%91%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E5%86%99%E5%85%A5%E6%9B%B4%E6%94%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BwritePackageJson(directory%2C%26nbsp%3Bcontents)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bfs.writeJSON(packageJsonFilepath%2C%26nbsp%3Bcontents%2C%26nbsp%3B%7B%26nbsp%3Bspaces%3A%26nbsp%3B2%26nbsp%3B%7D)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%20fs.readJSON%20%E5%92%8C%20fs.writeJSON%20%E6%96%B9%E6%B3%95%E6%98%AF%E7%94%B1%20fs-extra%20%E5%BA%93%E6%8F%90%E4%BE%9B%E7%9A%84%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E5%AE%9A%E4%B9%89%E4%BA%86%20package.json%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%BC%80%E5%A7%8B%E8%80%83%E8%99%91%20package.json%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E6%94%AF%E6%8C%81%E4%B8%A4%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ECommonJS%20Modules%20(CJS)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DKTweLvts6a1zOlUbn0cnCA%253D%253D.WRSoJ3t37Y2GYjanjStt81N%252BkCOGoR11gK8pv6Fck09uaKTSXHq5mvMcWutIRxYU%3C%2Fspan%3E%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%BF%E7%94%A8%20module.exports%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20require()%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EECMAScript%20Modules%20(ESM)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DOUbF%252BkjeOpAlt3Fo9PFGFw%253D%253D.Ex%252BQVnop7rVNKtYxrnp%252Fhcm08eFRE7K2XLUBlFFQ7D4%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%BD%BF%E7%94%A8%20export%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20import%20%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E7%94%9F%E6%80%81%E7%B3%BB%E7%BB%9F%E6%AD%A3%E5%9C%A8%E9%80%90%E6%AD%A5%E9%87%87%E7%94%A8%20ES%20%E6%A8%A1%E5%9D%97%EF%BC%8C%E8%BF%99%E5%9C%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%20JavaScript%20%E4%B8%AD%E6%98%AF%E5%BE%88%E5%B8%B8%E8%A7%81%E7%9A%84%E3%80%82%E5%BD%93%E4%BA%8B%E6%83%85%E5%A4%84%E4%BA%8E%E8%BF%87%E6%B8%A1%E9%98%B6%E6%AE%B5%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%86%B3%E5%AE%9A%E6%88%91%E4%BB%AC%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%BB%98%E8%AE%A4%E4%BD%BF%E7%94%A8%20CJS%20%E6%A8%A1%E5%9D%97%E8%BF%98%E6%98%AF%20ESM%20%E6%A8%A1%E5%9D%97%E3%80%82%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%BF%99%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForModuleSystem(moduleSystems)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Which%26nbsp%3BNode.js%26nbsp%3Bmodule%26nbsp%3Bsystem%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Buse%3F%26nbsp%3B(%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26nbsp%3Bor%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D)%26nbsp%3B%60%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchoices%3A%26nbsp%3BmoduleSystems%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BmoduleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E5%87%BD%E6%95%B0%E4%BD%BF%E7%94%A8%E7%9A%84%20question%20%E5%87%BD%E6%95%B0%E7%94%B1%20zx%20%E6%8F%90%E4%BE%9B%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getNodeModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E8%B0%83%E7%94%A8%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E6%A3%80%E6%9F%A5%E6%89%80%E8%BE%93%E5%85%A5%E7%9A%84%E5%80%BC%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%8D%E6%98%AF%EF%BC%8C%E5%AE%83%E5%B0%86%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetNodeModuleSystem()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystems%26nbsp%3B%3D%26nbsp%3B%5B%26%2334%3Bmodule%26%2334%3B%2C%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForModuleSystem(moduleSystems)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BisValidModuleSystem%26nbsp%3B%3D%26nbsp%3BmoduleSystems.includes(selectedModuleSystem)%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!isValidModuleSystem)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BModule%26nbsp%3Bsystem%26nbsp%3Bmust%26nbsp%3Bbe%26nbsp%3Beither%26nbsp%3B%26%2339%3B%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26%2339%3B%26nbsp%3Bor%26nbsp%3B%26%2339%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%26%2339%3B%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BselectedModuleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E8%BF%90%E8%A1%8C%20npm%20init%20%E5%91%BD%E4%BB%A4%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npm%26nbsp%3Binit%26nbsp%3B--yes%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E8%AF%BB%E5%8F%96%E6%96%B0%E5%88%9B%E5%BB%BA%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E8%AF%A2%E9%97%AE%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%B3%BB%E7%BB%9F%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA%20packageJson%20%E5%AF%B9%E8%B1%A1%E4%B8%AD%E7%9A%84%20type%20%E5%B1%9E%E6%80%A7%E5%80%BC%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%E5%85%B6%E5%86%99%E5%9B%9E%E5%88%B0%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackageJson%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5CnpackageJson.type%26nbsp%3B%3D%26nbsp%3BselectedModuleSystem%3B%5Cnawait%26nbsp%3BwritePackageJson(targetDirectory%2C%26nbsp%3BpackageJson)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%8F%90%E7%A4%BA%EF%BC%9A%E5%BD%93%E4%BD%A0%E7%94%A8--yes%20%E6%A0%87%E5%BF%97%E8%BF%90%E8%A1%8C%20npm%20init%20%E6%97%B6%EF%BC%8C%E8%A6%81%E6%83%B3%E5%9C%A8%20package.json%20%E4%B8%AD%E8%8E%B7%E5%BE%97%E5%90%88%E7%90%86%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%EF%BC%8C%E8%AF%B7%E7%A1%AE%E4%BF%9D%E4%BD%A0%E8%AE%BE%E7%BD%AE%E4%BA%86%20npminit-*%E7%9A%84%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DX0aVKO8sVtj0bgZhFmgjVw%253D%253D.hxYbJxX5X2odlcPpk5MdIVLkT7ESAsFMhFnFSRBftI2c2BjNTUCtV1gwdXnpxWGI%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E9%A1%B9%E7%9B%AE%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E4%BD%BF%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E5%90%8E%E8%83%BD%E5%A4%9F%E8%BD%BB%E6%9D%BE%E5%9C%B0%E5%BC%80%E5%A7%8B%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForPackages%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E5%93%AA%E4%BA%9B%20npm%20%E5%8C%85%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForPackages()%26nbsp%3B%7B%5Cnlet%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3BWhich%26nbsp%3Bnpm%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Binstall%26nbsp%3Bfor%26nbsp%3Bthis%26nbsp%3Bproject%3F%26nbsp%3B%26%2334%3B%5Cn)%3B%5CnpackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall%5Cn%26nbsp%3B%26nbsp%3B.trim()%5Cn%26nbsp%3B%26nbsp%3B.split(%26%2334%3B%26nbsp%3B%26%2334%3B)%5Cn%26nbsp%3B%26nbsp%3B.filter((pkg)%26nbsp%3B%3D%26gt%3B%26nbsp%3Bpkg)%3B%5Cnreturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E9%98%B2%E6%AD%A2%E6%88%91%E4%BB%AC%E5%9C%A8%E8%BE%93%E5%85%A5%E5%8C%85%E5%90%8D%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E5%88%AB%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20identifyInvalidNpmPackages%20%E5%87%BD%E6%95%B0%E3%80%82%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E5%B0%86%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%20npm%20%E5%8C%85%E5%90%8D%E6%95%B0%E7%BB%84%EF%BC%8C%E7%84%B6%E5%90%8E%E8%BF%90%E8%A1%8C%20npm%20view%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E6%9F%A5%E5%AE%83%E4%BB%AC%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BidentifyInvalidNpmPackages(packages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3B%5B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(const%26nbsp%3Bpkg%26nbsp%3Bof%26nbsp%3Bpackages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Bview%26nbsp%3B%24%7Bpkg%7D%60%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BinvalidPackages.push(pkg)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BinvalidPackages%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getPackagesToInstall%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E5%88%9A%E5%88%9A%E5%88%9B%E5%BB%BA%E7%9A%84%E4%B8%A4%E4%B8%AA%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetPackagesToInstall()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForPackages()%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BidentifyInvalidNpmPackages(packagesToInstall)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BallPackagesExist%26nbsp%3B%3D%26nbsp%3BinvalidPackages.length%26nbsp%3B%3D%3D%3D%26nbsp%3B0%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!allPackagesExist)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BThe%26nbsp%3Bfollowing%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Bnot%26nbsp%3Bexist%26nbsp%3Bon%26nbsp%3Bnpm%3A%26nbsp%3B%24%7BinvalidPackages.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%2C%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%9C%89%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%90%8D%E7%A7%B0%E4%B8%8D%E6%AD%A3%E7%A1%AE%EF%BC%8C%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E6%97%A6%E6%88%91%E4%BB%AC%E5%BE%97%E5%88%B0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E6%9C%89%E6%95%88%E5%8C%85%E5%88%97%E8%A1%A8%EF%BC%8C%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20npm%20install%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E5%AE%89%E8%A3%85%E5%AE%83%E4%BB%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cnconst%26nbsp%3BhavePackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall.length%26nbsp%3B%26gt%3B%26nbsp%3B0%3B%5Cnif%26nbsp%3B(havePackagesToInstall)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Binstall%26nbsp%3B%24%7BpackagesToInstall%7D%60%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E4%B8%BA%E5%B7%A5%E5%85%B7%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE%E6%98%AF%E6%88%91%E4%BB%AC%E7%94%A8%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E7%9A%84%E6%9C%80%E4%BD%B3%E4%BA%8B%E9%A1%B9%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA.gitignore%20%E6%96%87%E4%BB%B6%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E6%84%8F%E5%A4%96%E5%9C%B0%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E5%9C%A8%20Git%20%E4%BB%93%E5%BA%93%E4%B8%AD%E5%87%BA%E7%8E%B0%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bgitignore%26nbsp%3Bnode%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8%20gitignore%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DV%252FIoxipE2WxmNECDRNKMqg%253D%253D.7Y4d34n%252BoUVlJkYEiJt3NLa9RHn2pYtKq%252BHpO67HIQjfjKAHIxcMynZzTudktHaV%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E5%8C%85%EF%BC%8C%E4%BB%8E%20GitHub%20%E7%9A%84%20gitignore%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3E%20https%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DSzh56TKqT6gYmrJidM7ZXg%253D%253D.BK7Vf5F73GaplJKeN48OsobM6U4EPriatZOr3dBhsSVZIuIUiktyqfS1jhLLtQ7o%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E6%A8%A1%E6%9D%BF%E4%B8%AD%E6%8B%89%E5%8F%96%20Node.js%20%E7%9A%84.gitignore%20%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E7%9A%84%20EditorConfig%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DdGD5%252BEyCTqLfqDSif7%252FHgQ%253D%253D.xgNWBjR6m%252FIUFlG1UmM3CYX2R%252BLXFN531lZhlvCRRWs%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%81Prettier%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3Dn7clHFqLMZZala0zu1JjdQ%253D%253D.jivAg4cL8HkSAhuurMUHrlfhGGILOpveTQR0rjCRXyg%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%92%8C%20ESLint%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DJ4jXEAmmBQ83%252FWSrOtTsAQ%253D%253D.b%252FKC0kT%252FZWZQ9KBItXDMQHWJBzc5aW9hUZsxWHBsMY4%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E4%B8%80%E4%B8%AA%E5%8F%AB%E5%81%9A%20Mrm%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E7%9A%84%20mrm%20%E4%BE%9D%E8%B5%96%E9%A1%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--global%26nbsp%3Bmrm%26nbsp%3Bmrm-task-editorconfig%26nbsp%3Bmrm-task-prettier%26nbsp%3Bmrm-task-eslint%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%B7%BB%E5%8A%A0%20mrm%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beditorconfig%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Bprettier%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beslint%60%3B%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EMrm%20%E8%B4%9F%E8%B4%A3%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%E3%80%82%E5%AE%83%E8%BF%98%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E7%94%9F%E6%88%90%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BB%A5%E7%AC%A6%E5%90%88%E6%88%91%E4%BB%AC%E7%9A%84%E4%B8%AA%E4%BA%BA%E5%81%8F%E5%A5%BD%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20README%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E7%9A%84%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%E8%AF%BB%E5%8F%96%E9%A1%B9%E7%9B%AE%E5%90%8D%E7%A7%B0%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA%E5%9F%BA%E6%9C%AC%E7%9A%84%20Markdown%20%E6%A0%BC%E5%BC%8F%E7%9A%84%20README%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E5%86%99%E5%85%A5%20README.md%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3B%7B%26nbsp%3Bname%3A%26nbsp%3BprojectName%26nbsp%3B%7D%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BreadmeContents%26nbsp%3B%3D%26nbsp%3B%60%23%26nbsp%3B%24%7BprojectName%7D%5Cn...%5Cn%60%3B%5Cnawait%26nbsp%3Bfs.writeFile(%60%24%7BtargetDirectory%7D%2FREADME.md%60%2C%26nbsp%3BreadmeContents)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%9A%B4%E9%9C%B2%E7%9A%84%20fs.writeFile%20%E7%9A%84%20promise%20%E5%8F%98%E9%87%8F%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%8F%90%E4%BA%A4%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%80%E5%90%8E%EF%BC%8C%E6%98%AF%E6%97%B6%E5%80%99%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E7%94%A8%20git%20%E5%88%9B%E5%BB%BA%E7%9A%84%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%E4%BA%86%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Badd%26nbsp%3B.%60%3B%5Cnawait%26nbsp%3B%24%60git%26nbsp%3Bcommit%26nbsp%3B-m%26nbsp%3B%26%2334%3BAdd%26nbsp%3Bproject%26nbsp%3Bskeleton%26%2334%3B%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E6%9D%A1%E6%B6%88%E6%81%AF%EF%BC%8C%E7%A1%AE%E8%AE%A4%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B7%B2%E7%BB%8F%E6%88%90%E5%8A%9F%E5%90%AF%E5%8A%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econsole.log(%5Cn%26nbsp%3B%26nbsp%3Bchalk.green(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60%5C%5Cn%E2%9C%94%EF%B8%8F%26nbsp%3BThe%26nbsp%3Bproject%26nbsp%3B%24%7BprojectName%7D%26nbsp%3Bhas%26nbsp%3Bbeen%26nbsp%3Bsuccessfully%26nbsp%3Bbootstrapped!%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B)%5Cn)%3B%5Cnconsole.log(chalk.green(%60Add%26nbsp%3Ba%26nbsp%3Bgit%26nbsp%3Bremote%26nbsp%3Band%26nbsp%3Bpush%26nbsp%3Byour%26nbsp%3Bchanges.%60))%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%90%AF%E5%8A%A8%E6%96%B0%E9%A1%B9%E7%9B%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bnew-project%5Cn.%2Fbootstrap-tool.mjs%26nbsp%3B--directory%26nbsp%3Bnew-project%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%B9%B6%E8%A7%82%E7%9C%8B%E6%88%91%E4%BB%AC%E6%89%80%E5%81%9A%E7%9A%84%E4%B8%80%E5%88%87%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%80%BB%E7%BB%93%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E5%A6%82%E4%BD%95%E5%9C%A8%20Node.js%20%E4%B8%AD%E5%80%9F%E5%8A%A9%20Google%20%E7%9A%84%20zx%20%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E5%BC%BA%E5%A4%A7%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E4%BA%86%E5%AE%83%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%92%8C%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%81%B5%E6%B4%BB%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%B0%E7%9B%AE%E5%89%8D%E4%B8%BA%E6%AD%A2%EF%BC%8C%E6%88%91%E4%BB%AC%E6%89%80%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%8F%AA%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BC%80%E5%A7%8B%E3%80%82%E8%BF%99%E9%87%8C%E6%9C%89%E4%B8%80%E4%BA%9B%E5%8A%9F%E8%83%BD%E7%82%B9%E5%AD%90%EF%BC%8C%E4%BD%A0%E5%8F%AF%E8%83%BD%E6%83%B3%E5%B0%9D%E8%AF%95%E8%87%AA%E5%B7%B1%E6%B7%BB%E5%8A%A0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E3%80%82%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E8%BF%98%E4%B8%8D%E5%AD%98%E5%9C%A8%EF%BC%8C%E5%88%99%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E5%B9%B6%E8%AF%A2%E9%97%AE%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E6%83%B3%E8%A6%81%E4%B8%BA%E4%BB%96%E4%BB%AC%E5%88%9B%E5%BB%BA%E8%AF%A5%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BC%80%E6%BA%90%E5%8D%AB%E7%94%9F%E3%80%82%E9%97%AE%E9%97%AE%E7%94%A8%E6%88%B7%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E5%9C%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B0%86%E6%98%AF%E5%BC%80%E6%BA%90%E7%9A%84%E9%A1%B9%E7%9B%AE%E3%80%82%E5%A6%82%E6%9E%9C%E6%98%AF%E7%9A%84%E8%AF%9D%EF%BC%8C%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E8%AE%B8%E5%8F%AF%E8%AF%81%E5%92%8C%E8%B4%A1%E7%8C%AE%E8%80%85%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%20GitHub%20%E4%B8%8A%E7%9A%84%E4%BB%93%E5%BA%93%E3%80%82%E6%B7%BB%E5%8A%A0%E4%BD%BF%E7%94%A8%20GitHub%20CLI%20%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%9C%A8%20GitHub%20%E4%B8%8A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E3%80%82%E4%B8%80%E6%97%A6%E7%94%A8%20Git%20%E6%8F%90%E4%BA%A4%E4%BA%86%E5%88%9D%E5%A7%8B%E9%AA%A8%E6%9E%B6%EF%BC%8C%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E6%8E%A8%E9%80%81%E5%88%B0%E8%BF%99%E4%B8%AA%E4%BB%93%E5%BA%93%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E5%9C%A8%20GitHub%20%E4%B8%8A%E6%89%BE%E5%88%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E8%AF%91%E8%87%AA%EF%BC%9A%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5Z%252ByLQNgua%252FY5gnguxXllg%253D%253D.SeNINYETng%252BH6uZupDjhsYNRqM5GWB5jXVDlvMdMqsO9u3CmWfwe8DwT48iAvK%252Fsm8pflQ8jbxHc1sB281%252B6pA%253D%253D%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%9C%E8%80%85%EF%BC%9A%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3ESimon%20Plenderleith%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BB%A5%E4%B8%8A%E5%B0%B1%E6%98%AF%E6%9C%AC%E6%96%87%E7%9A%84%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9%E3%80%82%E5%A6%82%E6%9E%9C%E5%AF%B9%E4%BD%A0%E6%9C%89%E6%89%80%E5%B8%AE%E5%8A%A9%EF%BC%8C%E6%AC%A2%E8%BF%8E%E7%82%B9%E8%B5%9E%E3%80%81%E6%94%B6%E8%97%8F%E3%80%81%E8%BD%AC%E5%8F%91~%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Chr%3E%22%2C%22imageList%22%3A%5B%5D%2C%22mediaInfo%22%3A%7B%22userId%22%3A%22MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH%22%2C%22unsafeUserId%22%3A%224288553596503552%22%2C%22name%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22avatarUrl%22%3A%22https%3A%2F%2Fsf3-cdn-tos.toutiaostatic.com%2Fimg%2Fuser-avatar%2Fc14bb151d3505084033c82ee8238acde~300x300.image%22%2C%22description%22%3A%22%E6%AC%A2%E8%BF%8E%E5%85%B3%E6%B3%A8VX%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22userVerified%22%3A1%7D%2C%22seoTDK%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC-%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1%22%2C%22description%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22keywords%22%3A%22%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%2CNode.js%2CGoogle%2CJavaScript%2CBash%2CTypeScript%2CZsh%2CGitHub%2C%E7%BE%8E%E5%A5%BD%EF%BC%8C%E4%B8%80%E7%9B%B4%E5%9C%A8%E8%BA%AB%E8%BE%B9%22%2C%22publishTimestamp%22%3A%221678237205%22%2C%22modifiedTimestamp%22%3A%221685548306%22%7D%2C%22cover%22%3A%22https%3A%2F%2Fp3-sign.toutiaoimg.com%2Flarge%2Ftos-cn-i-qvj2lq49k0%2F7894dd4439eb4e78ad35208f496e841a%3F_iz%3D58558%26from%3Darticle.pc_detail%26x-expires%3D1690103402%26x-signature%3D5z%252FNWR2V4o%252B5W0fhczXkGuaSyYE%253D%22%2C%22logId%22%3A%222023071617100290B65219A60FE2C10ABA%22%2C%22sylpageConfig%22%3A%7B%22card%22%3A%7B%22id%22%3A%22%22%7D%7D%2C%22identity%22%3A%7B%22web_id%22%3A%227235169635611018810%22%2C%22user_is_login%22%3Afalse%7D%2C%22abtestInfo%22%3A%7B%22rsp_type%22%3A5%2C%22version_name%22%3A%224938400%22%2C%22parameters%22%3A%7B%22filter%22%3A%7B%22debug_enable_pc_small_video%22%3Afalse%2C%22enable_pc_small_video%22%3Atrue%7D%2C%22home_nav_conf%22%3A%7B%22dcd_out%22%3A1%7D%2C%22optimus%22%3A%7B%22rule_rank_rules%22%3A%22ranking_rule_list%20%7B%5Cn%20%20id%3A%201221233%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2212123%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%202%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%2020458%5Cn%20%20priority%3A%203%5Cn%20%20enabled%3A%20true%5Cn%20%20category%3A%2020458%5Cn%20%20type%3A%20WINDOW%5Cn%20%20window_rule%20%7B%5Cn%20%20%20%20type%3A%20SLIDE%5Cn%20%20%20%20size%3A%203%5Cn%20%20%20%20max%3A%201%5Cn%20%20%7D%5Cn%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%201111024%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2211024%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%206%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%22%7D%2C%22page_upgrade%22%3A%7B%22new_profile%22%3Atrue%2C%22video_double_column%22%3Atrue%7D%2C%22recall%22%3A%7B%22debug_filter_reason_list%22%3A%5B%5D%2C%22debug_recall_reason_list%22%3A%5B70%2C71%2C72%2C73%2C80%2C83%5D%2C%22enable_debug_filter_reason%22%3Atrue%2C%22enable_debug_recall_reason%22%3Atrue%2C%22friend_feed%22%3A%7B%22control_nums%22%3A1500%2C%22count%22%3A1000%2C%22enable%22%3Atrue%2C%22enable_cpp_friend_feed%22%3Atrue%2C%22enable_friend_feed_container_filter%22%3Atrue%2C%22enable_group_status_filter%22%3Atrue%2C%22params%22%3A%7B%7D%2C%22top_k%22%3A10%2C%22use_new_friend_recall%22%3Atrue%2C%22valid_group_source%22%3A%5B2%2C5%2C15%2C23%2C16%2C19%2C21%2C132%5D%2C%22weight%22%3A20%7D%7D%2C%22seraph%22%3A%7B%22rule_rank_rules_pc_small%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20%20%20%20%20%20id%3A%2022124%20%5Cn%20%20%20%20%20%20%20%20%20priority%3A%200%20%5Cn%20%20%20%20%20%20%20%20%20tags%3A%20%5C%2222124%5C%22%20%5Cn%20%20%20%20%20%20%20%20%20enabled%3A%20true%20%5Cn%20%20%20%20%20%20%20%20%20type%3A%20CARD%20%5Cn%20%20%20%20%20%20%20%20%20card_rule%20%7B%20%5Cn%20%20%20%20%20%20%20%20%20size%3A%206%20%5Cn%20%20%20%20%20%20%20%20%20num_cards%3A%201%5Cn%20%20%20%20%20%20%20%20%20type%3A%20SAME_SLOT%20%5Cn%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%22%2C%22rule_rank_rules_pc_small_window%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20id%3A%20222124%5Cn%20%20%20priority%3A%200%5Cn%20%20%20tags%3A%20%5C%2222124%5C%22%5Cn%20%20%20%20enabled%3A%20false%5Cn%20%20%20%20type%3A%20WINDOW%5Cn%20%20%20%20window_rule%20%7B%5Cn%20%20%20type%3A%20SLIDE%20%5Cn%20%20%20size%3A%2012%20%5Cn%20%20%20max%3A%206%20%5Cn%20%20%20%7D%5Cn%20%20%20%7D%22%7D%2C%22small_sort%22%3A%7B%22enable_filter_zhanwai%22%3Atrue%2C%22filter_genre_plog%22%3Afalse%2C%22filter_genre_small%22%3Afalse%2C%22skip_small_app_version_filter%22%3Afalse%2C%22skip_small_genre_filter%22%3Afalse%7D%2C%22sort%22%3A%7B%22allowed_ticai%22%3A%5B%22forum_post%22%2C%22pgc_text%22%2C%22pgc_video%22%2C%22short_video%22%5D%2C%22enable_optimus_gen_pc_mv_card%22%3Atrue%2C%22enable_optimus_gen_pc_sv_card%22%3Atrue%2C%22enable_pc_skip_app_smallvideo_card%22%3Atrue%7D%2C%22ugc_sort%22%3A%7B%22expore_smallvideo%22%3Atrue%7D%2C%22video_channel%22%3A%7B%22use_feed%22%3A1%2C%22rank%22%3A5%7D%7D%2C%22env_flag%22%3A0%7D%2C%22localCityInfo%22%3A%7B%22name%22%3A%22%E8%A5%84%E9%98%B3%22%2C%22code%22%3A%22420600%22%2C%22channelId%22%3A3202181326%7D%2C%22voteLink%22%3A%5B%7B%22keyword%22%3A%22%E6%9C%AB%E4%B8%96%E9%87%8D%E7%94%9F%EF%BC%8C%E6%88%91%E6%8A%A2%E4%BA%86%E5%A5%B3%E4%B8%BB%E7%9A%84%E9%87%91%E6%89%8B%E6%8C%87%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7045105728742231079%22%7D%2C%7B%22keyword%22%3A%22%E4%BA%BA%E5%9C%A8%E6%B5%B7%E8%B4%BC%3A%E6%88%91%E6%88%90%E4%B8%BA%E4%BA%86%E6%B5%B7%E5%86%9B%E5%A5%B3%E7%8E%8B%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7070145477789879300%22%7D%2C%7B%22keyword%22%3A%22%E6%B2%A1%E7%9E%8E%E7%9C%BC%E4%B8%89%E5%B9%B4%EF%BC%8C%E4%BD%86%E6%88%91%E7%9A%84%E5%AD%A6%E7%94%9F%E4%B8%8D%E6%98%AF%E4%BA%BA%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7118385133568134175%22%7D%2C%7B%22keyword%22%3A%22%E7%9C%9F%E5%8D%83%E9%87%91%E4%BB%8E%E4%BF%AE%E7%9C%9F%E7%95%8C%E5%9B%9E%E6%9D%A5%E4%BA%86%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F6983183491827502094%22%7D%2C%7B%22keyword%22%3A%22%E5%BC%82%E4%B8%96%E7%9B%B8%E9%81%87%E5%B0%BD%E4%BA%AB%E7%A4%BE%E6%AD%BB%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F583844%22%7D%2C%7B%22keyword%22%3A%22python%20ols%E5%9B%9E%E5%BD%92%E5%88%86%E6%9E%90%E7%BB%93%E6%9E%9C%E6%80%8E%E4%B9%88%E7%9C%8B%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131680%22%7D%2C%7B%22keyword%22%3A%22%E7%A5%9E%E5%A5%87%E5%AE%9D%E8%B4%9D%E4%B9%8B%E5%85%A8%E8%83%BD%E6%8E%8C%E9%97%A8%E4%BA%BA%E8%87%B4%E5%85%89%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F738595%22%7D%2C%7B%22keyword%22%3A%22%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3java8%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131722%22%7D%2C%7B%22keyword%22%3A%22linux%20mysql%20%E6%97%A5%E5%BF%97%E6%B8%85%E7%90%86%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1182964%22%7D%2C%7B%22keyword%22%3A%22%E6%88%91%E5%9C%A8%E5%AE%9D%E5%8F%AF%E6%A2%A6%E4%B8%96%E7%95%8C%E6%88%90%E4%B8%BA%E7%AC%AC%E4%B8%80%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F188604%22%7D%5D%2C%22grSensitive%22%3Afalse%2C%22showResearch%22%3Afalse%2C%22blockVisibility%22%3A%7B%22hotBoard%22%3Atrue%2C%22hotVideo%22%3Atrue%2C%22relatedRecommend%22%3Atrue%7D%2C%22isGreyTheme%22%3Afalse%2C%22searchBot%22%3Anull%7D%7D
gitadd.`;
await
社区精选|如何使用 zx 编写 shell 脚本-*今条头日**
{"@context":"https://schema.org","@type":"NewsArticle","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.toutiao.com/article/7207743318715793920/"},"headline":"社区精选|如何使用 zx 编写 shell 脚本","description":"在这篇文章中,我们将学习谷歌的 zx 库提供了什么,以及我们如何使用它来用 Node.js 编写 shell 脚本。","image":[],"datePublished":"2023-03-08T01:00:05.000Z","dateModified":"2023-05-31T15:51:46.000Z","author":{"@type":"Person","name":"计算科学与信息化","url":"https://www.toutiao.com/c/user/token/MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH/"},"publisher":{"@type":"Organization","name":"*今条头日**","logo":{"@type":"ImageObject","url":"https://lf3-static.bytednsdoc.com/obj/eden-cn/uhbfnupkbps/216.png"}}}
!function(r,e,t,n,s,a,o,i,c,l,d,p,m,f){a="precollect",o="getAttribute",i="addEventListener",(l=function(e){(d=[].slice.call(arguments)).push(Date.now(),location.href),(e==a?l.p.a:l.q).push(d)}).q=[],l.p={a:[]},r[s]=l,(p=document.createElement("script")).src=t+"?bid=toutiao_web_pc&globalName="+s,p.crossOrigin=0
window.Slardar&&window.Slardar("init",{bid:"toutiao_web_pc",pid:"news_article_detail",release:"1.0.0.1822",env:"online",sample:{sample_rate:1},plugins:{ajax:{ignoreUrls:["mcs.snssdk.com","mcs.zijieapi.com","i.snssdk.com","verify.snssdk.com","vcs.snssdk.com","mon.zijieapi.com","mon.snssdk.com"]},pageview:{routeMode:"manual"},blankScreen:{rootSelector:"#root"}}})
!function(n,t){if(n.LogAnalyticsObject=t,!n[t]){function c(){c.q.push(arguments)}c.q=c.q||[],n[t]=c}n[t].l=+new Date}(window,"collectEvent")
window.collectEvent("usePlugin","autotrack"),window.collectEvent("usePlugin","stay"),window.collectEvent("init",{app_id:24,channel:"cn",autotrack:{custom:"tea",text:!0},enable_stay_duration:!0}),window.collectEvent("config",{evtParams:{url:window.location.href,screen_width:window.screen.width,screen_height:window.screen.height,screen_inner_width:window.innerWidth,screen_inner_height:window.innerHeight}})
window.byted_acrawler&&window.byted_acrawler.init({aid:24,dfp:!0})
window.TTGCaptcha&&window.TTGCaptcha.init({commonOptions:{aid:24,iid:"0",did:"0"}})
window.secsdk&&window.secsdk.csrf.setProtectedHost({"www.toutiao.com":{GET:[],POST:[/^\/api\/pc\/user\/fans_digg/,/^\/api\/pc\/user\/delete/,/^\/api\/pc\/user\/follow/,/^\/c\/ugc\/content\/repost/,/^\/group\/repin/,/^\/group\/unrepin/,/^\/api\/pc\/user\/stick/,/^\/api\/pc\/user\/unstick/,/^\/c\/user\/unfollow/,/^\/wenda\/v5\/interact\/followanswer/,/^\/wenda\/v5\/interact\/followquestion/,/^\/wenda\/v5\/interact\/digganswer/,/^\/wenda\/v5\/interact\/deleteanswer/,/^\/user_data\/batch_action/],PUT:[],PATCH:[],DELETE:[]}})
"undefined"!=typeof window&&"serviceWorker"in navigator&&window.addEventListener("load",function(){navigator.serviceWorker.register("/sw.js").catch(function(e){window.Slardar&&window.Slardar("emit","counter",{name:"sw-register-error",value:1})})})
function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-QEHZPBE5HH")
%7B%22data%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%22%2C%22abstract%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22articleType%22%3A%22article%22%2C%22itemId%22%3A%227207743318715793920%22%2C%22groupId%22%3A%227207743318715793920%22%2C%22groupSource%22%3A2%2C%22isOriginal%22%3Afalse%2C%22banComment%22%3Afalse%2C%22publishTime%22%3A%222023-03-08%2009%3A00%22%2C%22source%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22tag%22%3A%22technique%22%2C%22mediaSite%22%3Anull%2C%22pathname%22%3A%22%2Farticle%2F7207743318715793920%2F%22%2C%22useCandle%22%3Afalse%2C%22isExclusive%22%3Afalse%2C%22favorite%22%3Afalse%2C%22relation%22%3A%7B%22isFollowing%22%3Afalse%2C%22isFollowed%22%3Afalse%7D%2C%22likeData%22%3A%7B%22userLikeStatus%22%3A0%2C%22count%22%3A1%7D%2C%22isSelf%22%3Afalse%2C%22content%22%3A%22%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%89%8D%E8%A8%80%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E6%9D%A5%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E5%BC%95%E5%AF%BC%E9%85%8D%E7%BD%AE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E7%BC%96%E5%86%99%20Shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E9%97%AE%E9%A2%98%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%94%B1%20Bash%20%E6%88%96%E8%80%85%20zsh%20%E6%89%A7%E8%A1%8C%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%98%AF%E8%87%AA%E5%8A%A8%E5%8C%96%E9%87%8D%E5%A4%8D%E4%BB%BB%E5%8A%A1%E7%9A%84%E5%A5%BD%E6%96%B9%E6%B3%95%E3%80%82Node.js%20%E4%BC%BC%E4%B9%8E%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E7%90%86%E6%83%B3%E9%80%89%E6%8B%A9%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%AE%83%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E8%AE%B8%E5%A4%9A%E6%A0%B8%E5%BF%83%E6%A8%A1%E5%9D%97%EF%BC%8C%E5%B9%B6%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E5%AF%BC%E5%85%A5%E4%BB%BB%E4%BD%95%E6%88%91%E4%BB%AC%E9%80%89%E6%8B%A9%E7%9A%84%E5%BA%93%E3%80%82%E5%AE%83%E8%BF%98%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%AE%BF%E9%97%AE%20JavaScript%20%E6%8F%90%E4%BE%9B%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E5%92%8C%E5%86%85%E7%BD%AE%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E4%BD%A0%E5%B0%9D%E8%AF%95%E7%BC%96%E5%86%99%E8%BF%90%E8%A1%8C%E5%9C%A8%20Node.js%20%E4%B8%AD%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E4%BD%A0%E4%BC%9A%E5%8F%91%E7%8E%B0%E8%BF%99%E6%B2%A1%E6%9C%89%E4%BD%A0%E6%83%B3%E8%B1%A1%E4%B8%AD%E7%9A%84%E9%82%A3%E4%B9%88%E9%A1%BA%E5%88%A9%E3%80%82%E4%BD%A0%E9%9C%80%E8%A6%81%E4%B8%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%BC%96%E5%86%99%E7%89%B9%E6%AE%8A%E7%9A%84%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%EF%BC%8C%E6%B3%A8%E6%84%8F%E8%BD%AC%E4%B9%89%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%EF%BC%8C%E7%84%B6%E5%90%8E%E6%9C%80%E7%BB%88%E4%B8%8E%20stdout%EF%BC%88%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%89%E5%92%8C%20stderr%EF%BC%88%E6%A0%87%E5%87%86%E9%94%99%E8%AF%AF%EF%BC%89%E6%89%93%E4%BA%A4%E9%81%93%E3%80%82%E8%BF%99%E4%B8%8D%E6%98%AF%E7%89%B9%E5%88%AB%E7%9B%B4%E8%A7%82%EF%BC%8C%E8%80%8C%E4%B8%94%E4%BC%9A%E4%BD%BF%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E7%9B%B8%E5%BD%93%E7%AC%A8%E6%8B%99%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EBash%20shell%20%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%E6%98%AF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E6%99%AE%E9%81%8D%E9%80%89%E6%8B%A9%E3%80%82%E4%B8%8D%E9%9C%80%E8%A6%81%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%E6%9D%A5%E5%A4%84%E7%90%86%E5%AD%90%E8%BF%9B%E7%A8%8B%EF%BC%8C%E8%80%8C%E4%B8%94%E5%AE%83%E6%9C%89%E5%86%85%E7%BD%AE%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E6%9D%A5%E5%A4%84%E7%90%86%20stdout%20%E5%92%8C%20stderr%E3%80%82%E4%BD%86%E6%98%AF%E7%94%A8%20Bash%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E4%B9%9F%E4%B8%8D%E6%98%AF%E9%82%A3%E4%B9%88%E5%AE%B9%E6%98%93%E3%80%82%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9B%B8%E5%BD%93%E6%B7%B7%E4%B9%B1%EF%BC%8C%E4%BD%BF%E5%BE%97%E5%AE%83%E5%AE%9E%E7%8E%B0%E9%80%BB%E8%BE%91%EF%BC%8C%E6%88%96%E8%80%85%E5%A4%84%E7%90%86%E8%AF%B8%E5%A6%82%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E7%9A%84%E4%BA%8B%E6%83%85%E9%9D%9E%E5%B8%B8%E5%9B%B0%E9%9A%BE%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%9C%89%E5%8A%A9%E4%BA%8E%E8%AE%A9%E4%BD%BF%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%8F%98%E5%BE%97%E9%AB%98%E6%95%88%E5%92%8C%E8%88%92%E9%80%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BE%80%E4%B8%8B%E9%98%85%E8%AF%BB%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%89%8D%E7%BD%AE%E6%9D%A1%E4%BB%B6%E9%9C%80%E8%A6%81%E9%81%B5%E5%BE%AA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%90%86%E6%83%B3%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E4%BD%A0%E5%BA%94%E8%AF%A5%E7%86%9F%E6%82%89%20JavaScript%20%E5%92%8C%20Node.js%20%E7%9A%84%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E9%80%82%E5%BA%94%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20Node.js%20%26gt%3B%3D%20v14.13.1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%3E%3Cbr%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E4%BB%8E%20GitHub%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DysCUhsc%252BhqUmtqCo55t8jw%253D%253D.aWhjUaPje6eTlkcFFdhW%252FeIVYyAz5G%252FoPbGuXjsxlpcJphMKguwz3NoHWQ9o2vDb47Nfnm9kpIP6Ol5r6Euc8A%253D%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E8%8E%B7%E5%BE%97%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E8%BF%90%E4%BD%9C%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EGoogle%20%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%88%9B%E5%BB%BA%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%A4%84%E7%90%86%E8%BF%99%E4%BA%9B%E8%BF%9B%E7%A8%8B%E7%9A%84%20stdout%20%E5%92%8C%20stderr%20%E7%9A%84%E5%87%BD%E6%95%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E7%9A%84%E4%B8%BB%E8%A6%81%E5%87%BD%E6%95%B0%E6%98%AF%24%E5%87%BD%E6%95%B0%E3%80%82%E4%B8%8B%E9%9D%A2%E6%98%AF%E5%AE%83%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AE%9E%E9%99%85%E4%BE%8B%E5%AD%90%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnawait%26nbsp%3B%24%60ls%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E6%89%A7%E8%A1%8C%E4%B8%8A%E8%BF%B0%E4%BB%A3%E7%A0%81%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnbootstrap-tool%5Cnhello-world%5Cnnode_modules%5Cnpackage.json%5CnREADME.md%5Cntypescript%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%E7%9A%84%20JavaScript%20%E8%AF%AD%E6%B3%95%E5%8F%AF%E8%83%BD%E7%9C%8B%E8%B5%B7%E6%9D%A5%E6%9C%89%E7%82%B9%E5%8F%A4%E6%80%AA%E3%80%82%E5%AE%83%E4%BD%BF%E7%94%A8%E4%BA%86%E4%B8%80%E7%A7%8D%E5%8F%AB%E5%81%9A%E5%B8%A6%E6%A0%87%E7%AD%BE%E7%9A%84%E6%A8%A1%E6%9D%BF%E5%AD%97%E7%AC%A6%E4%B8%B2%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DVUkodq5er%252Fynbhfl3MUQZA%253D%253D.%252Flx6oaDCVK4XuYyYLqvDi2QMWjCwW1jKBvNQgfaGG0AVwpl7I2CYD4sJYHuonDSA6jj1qSSypc0aGVO%252BYuBMUiibG6pBkVwusg%252Bai1hbMXetqlwMTWVUEAbtabMCbXIs%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%9A%84%E8%AF%AD%E8%A8%80%E7%89%B9%E6%80%A7%E3%80%82%E5%AE%83%E5%9C%A8%E5%8A%9F%E8%83%BD%E4%B8%8A%E4%B8%8E%E7%BC%96%E5%86%99%20await%20%24(%26%2334%3Bls%26%2334%3B)%E7%9B%B8%E5%90%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%85%B6%E4%BB%96%E5%87%A0%E4%B8%AA%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%EF%BC%8C%E4%BD%BF%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E6%9B%B4%E5%AE%B9%E6%98%93%E3%80%82%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ecd()%E3%80%82%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E6%9B%B4%E6%94%B9%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Equestion()%E3%80%82%E8%BF%99%E6%98%AF%20Node.js%20readline%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%8C%85%E8%A3%85%E5%99%A8%E3%80%82%E5%AE%83%E4%BD%BF%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E5%8F%98%E5%BE%97%E7%AE%80%E5%8D%95%E6%98%8E%E4%BA%86%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%99%A4%E4%BA%86%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%A4%96%EF%BC%8C%E5%AE%83%E8%BF%98%E4%B8%BA%E6%88%91%E4%BB%AC%E6%8F%90%E4%BE%9B%E4%BA%86%E5%87%A0%E4%B8%AA%E6%B5%81%E8%A1%8C%E7%9A%84%E5%BA%93%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Echalk%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D%252FL15Y8OQNrp05Scx6N4iaQ%253D%253D.r8AZkfcE1Ye%252BlNUznFA9RNJMhfyM0lttTiD0TmqjJQwoi7zjQjs5YiLjI%252FWDEooY%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%99%E4%B8%AA%E5%BA%93%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E4%B8%BA%E8%84%9A%E6%9C%AC%E7%9A%84%E8%BE%93%E5%87%BA%E6%B7%BB%E5%8A%A0%E9%A2%9C%E8%89%B2%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Eminimist%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5tMQ5d6qJ4STEHZeuiN0MA%253D%253D.x9GPOpXVZp5TGKknZCkwA10QP%252Ftw%252BW7fwnpYGg%252BnlJPJLK3RboT3jqy5WuPLFwPZ%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E4%B8%AA%E8%A7%A3%E6%9E%90%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E7%9A%84%E5%BA%93%E3%80%82%E7%84%B6%E5%90%8E%E5%AE%83%E4%BB%AC%E5%9C%A8%20argv%20%E5%AF%B9%E8%B1%A1%E4%B8%8B%E8%A2%AB%E6%9A%B4%E9%9C%B2%E5%87%BA%E6%9D%A5%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efetch%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D71LC44tCu%252FZoLOY2B7MfuA%253D%253D.GO%252FMi37T0KTmj8UXau9xdFUBiIk1I%252F8M%252FHk2hZYrhRb%252Fd3Vl0bzlr05hanNxzuVb%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EFetch%20API%20%E7%9A%84%20Node.js%20%E5%AE%9E%E7%8E%B0%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E8%BF%9B%E8%A1%8C%20HTTP%20%E8%AF%B7%E6%B1%82%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Efs-extra%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DcPZzXniTRFJdbq87FdwLWw%253D%253D.IsmhSUEjIcZAqw8FDidbUnNhhIVPT1gsFSo%252BchiXCAs9AaxUVT%252FEgbIvswUDVmK2%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%B8%80%E4%B8%AA%E6%9A%B4%E9%9C%B2%20Node.js%20%E6%A0%B8%E5%BF%83%20fs%20%E6%A8%A1%E5%9D%97%E7%9A%84%E5%BA%93%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B9%E6%B3%95%EF%BC%8C%E4%BD%BF%E5%85%B6%E6%9B%B4%E5%AE%B9%E6%98%93%E4%B8%8E%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%80%E8%B5%B7%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9F%A5%E9%81%93%E4%BA%86%20zx%20%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E4%BB%80%E4%B9%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E7%94%A8%E5%AE%83%E5%88%9B%E5%BB%BA%E7%AC%AC%E4%B8%80%E4%B8%AA%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3Ezx%20%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bzx-shell-scripts%5Cncd%26nbsp%3Bzx-shell-scripts%5Cnnpm%26nbsp%3Binit%26nbsp%3B--yes%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%AE%89%E8%A3%85%20zx%20%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bzx%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E7%9A%84%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E7%94%A8%20npm%20%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E8%AF%A5%E5%BA%93%E3%80%82%E9%80%9A%E8%BF%87%E5%B0%86%E5%85%B6%E5%AE%89%E8%A3%85%E4%B8%BA%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%A1%AE%E4%BF%9D%20zx%20%E6%80%BB%E6%98%AF%E8%A2%AB%E5%AE%89%E8%A3%85%EF%BC%8C%E5%B9%B6%E6%8E%A7%E5%88%B6%20shell%20%E8%84%9A%E6%9C%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E7%89%88%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A1%B6%E7%BA%A7%20await%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%20Node.js%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E9%A1%B6%E7%BA%A7%20await%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%20await%20%E4%BD%8D%E4%BA%8E%20async%20%E5%87%BD%E6%95%B0%E7%9A%84%E5%A4%96%E9%83%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%9C%A8%20ES%20%E6%A8%A1%E5%9D%97%E7%9A%84%E6%A8%A1%E5%BC%8F%E4%B8%8B%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%EF%BC%8C%E8%AF%A5%E6%A8%A1%E5%BC%8F%E6%94%AF%E6%8C%81%E9%A1%B6%E7%BA%A7%20await%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%20package.json%20%E4%B8%AD%E6%B7%BB%E5%8A%A0%20%26%2334%3Btype%26%2334%3B%3A%20%26%2334%3Bmodule%26%2334%3B%20%E6%80%8E%E4%B9%88%E6%80%8E%E4%B9%88%E6%9D%A5%E8%A1%A8%E6%98%8E%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E6%A8%A1%E5%9D%97%E9%83%BD%E6%98%AF%20ES%20%E6%A8%A1%E5%9D%97%E3%80%82%E6%88%96%E8%80%85%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%B0%86%E5%8D%95%E4%B8%AA%E8%84%9A%E6%9C%AC%E7%9A%84%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E8%AE%BE%E7%BD%AE%E4%B8%BA%20.mjs%20%E3%80%82%E5%9C%A8%E6%9C%AC%E6%96%87%E7%9A%84%E4%BE%8B%E5%AD%90%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20.mjs%20%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E5%B9%B6%E6%8D%95%E8%8E%B7%E8%BE%93%E5%87%BA%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B0%86%E5%85%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world.mjs%20%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%AE%83%E5%91%8A%E8%AF%89%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%EF%BC%88OS%EF%BC%89%E7%9A%84%E5%86%85%E6%A0%B8%E8%A6%81%E7%94%A8%20node%20%E7%A8%8B%E5%BA%8F%E8%BF%90%E8%A1%8C%E8%AF%A5%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%BA%9B%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%BD%BF%E7%94%A8%20zx%20%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8B%E9%9D%A2%E7%9A%84%E4%BB%A3%E7%A0%81%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%20ls%20%E7%A8%8B%E5%BA%8F%E3%80%82ls%20%E7%A8%8B%E5%BA%8F%E5%B0%86%E5%88%97%E5%87%BA%E5%BD%93%E5%89%8D%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%88%E8%84%9A%E6%9C%AC%E6%89%80%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%EF%BC%89%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BB%8E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BF%9B%E7%A8%8B%E4%B8%AD%E6%8D%95%E8%8E%B7%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B0%86%E5%85%B6%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E7%84%B6%E5%90%8E%E6%89%93%E5%8D%B0%E5%88%B0%E7%BB%88%E7%AB%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cnconsole.log(output)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9Azx%20%E6%96%87%E6%A1%A3%E5%BB%BA%E8%AE%AE%E6%8A%8A%2Fusr%2Fbin%2Fenv%20zx%20%E6%94%BE%E5%9C%A8%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E7%9A%84%20shebang%20%E8%A1%8C%E4%B8%AD%EF%BC%8C%E4%BD%86%E6%88%91%E4%BB%AC%E7%94%A8%2Fusr%2Fbin%2Fenv%20node%20%E4%BB%A3%E6%9B%BF%E3%80%82%E8%BF%99%E6%98%AF%E5%9B%A0%E4%B8%BA%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%20zx%EF%BC%8C%E5%B9%B6%E4%BD%9C%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E6%98%8E%E7%A1%AE%E5%9C%B0%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E6%83%B3%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%E3%80%82%E8%BF%99%E6%9C%89%E5%8A%A9%E4%BA%8E%E6%98%8E%E7%A1%AE%E6%88%91%E4%BB%AC%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E4%BE%9D%E8%B5%96%E6%9D%A5%E8%87%AA%E5%93%AA%E9%87%8C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%20chmod%20%E6%9D%A5%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E9%A1%B9%E7%9B%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E5%A6%82%E4%B8%8B%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cnhello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%88ls%EF%BC%89%E8%A2%AB%E5%8C%85%E5%90%AB%E5%9C%A8%E8%BE%93%E5%87%BA%E4%B8%AD%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%E6%98%BE%E7%A4%BA%E4%B8%A4%E6%AC%A1%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BE%93%E5%87%BA%E7%9A%84%E6%9C%AB%E5%B0%BE%E5%A4%9A%E4%BA%86%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E9%BB%98%E8%AE%A4%E4%BB%A5%20verbose%20%E6%A8%A1%E5%BC%8F%E8%BF%90%E8%A1%8C%E3%80%82%E5%AE%83%E5%B0%86%E8%BE%93%E5%87%BA%E4%BD%A0%E4%BC%A0%E9%80%92%E7%BB%99%24%E5%87%BD%E6%95%B0%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%90%8C%E6%97%B6%E4%B9%9F%E8%BE%93%E5%87%BA%E8%AF%A5%E5%91%BD%E4%BB%A4%E7%9A%84%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%9C%A8%E8%BF%90%E8%A1%8C%20ls%20%E5%91%BD%E4%BB%A4%E5%89%8D%E5%8A%A0%E5%85%A5%E4%BB%A5%E4%B8%8B%E4%B8%80%E8%A1%8C%E4%BB%A3%E7%A0%81%E6%9D%A5%E6%94%B9%E5%8F%98%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A4%A7%E5%A4%9A%E6%95%B0%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%A6%82%20ls%EF%BC%8C%E4%BC%9A%E5%9C%A8%E5%85%B6%E8%BE%93%E5%87%BA%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E8%A1%8C%E5%AD%97%E7%AC%A6%EF%BC%8C%E4%BB%A5%E4%BD%BF%E8%BE%93%E5%87%BA%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E6%9B%B4%E6%98%93%E8%AF%BB%E3%80%82%E8%BF%99%E5%AF%B9%E5%8F%AF%E8%AF%BB%E6%80%A7%E6%9C%89%E5%A5%BD%E5%A4%84%EF%BC%8C%E4%BD%86%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E8%A6%81%E5%B0%86%E8%BE%93%E5%87%BA%E5%AD%98%E5%82%A8%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E6%9C%89%E8%BF%99%E4%B8%AA%E9%A2%9D%E5%A4%96%E7%9A%84%E6%96%B0%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%20JavaScript%20String%23trim()%E5%87%BD%E6%95%B0%E6%8A%8A%E5%AE%83%E5%8E%BB%E6%8E%89%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E-%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout%3B%5Cn%2B%26nbsp%3Bconst%26nbsp%3Boutput%26nbsp%3B%3D%26nbsp%3B(await%26nbsp%3B%24%60ls%60).stdout.trim()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%86%8D%E6%AC%A1%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E7%BB%93%E6%9E%9C%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%A5%BD%E5%BE%88%E5%A4%9A%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ehello-world.mjs%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E5%BC%95%E5%85%A5%20TypeScript%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E6%83%B3%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%BC%96%E5%86%99%E4%BD%BF%E7%94%A8%20zx%20%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%BE%AE%E5%B0%8F%E7%9A%84%E5%8C%BA%E5%88%AB%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%8A%A0%E4%BB%A5%E8%AF%B4%E6%98%8E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%B3%A8%E6%84%8F%EF%BC%9ATypeScript%20%E7%BC%96%E8%AF%91%E5%99%A8%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E5%AE%83%E5%A6%82%E4%BD%95%E7%BC%96%E8%AF%91%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%E8%80%83%E8%99%91%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E4%B8%8B%E9%9D%A2%E7%9A%84%20TypeScript%20%E9%85%8D%E7%BD%AE%E5%92%8C%E4%BB%A3%E7%A0%81%E6%98%AF%E4%B8%BA%E4%BA%86%E5%9C%A8%E5%A4%A7%E5%A4%9A%E6%95%B0%20TypeScript%20%E7%89%88%E6%9C%AC%E4%B8%8B%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E5%AE%89%E8%A3%85%E9%9C%80%E8%A6%81%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E7%9A%84%E4%BE%9D%E8%B5%96%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Btypescript%26nbsp%3Bts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ets-node%20%E5%8C%85%E6%8F%90%E4%BE%9B%E4%BA%86%E4%B8%80%E4%B8%AA%20TypeScript%20%E6%89%A7%E8%A1%8C%E5%BC%95%E6%93%8E%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E8%83%BD%E5%A4%9F%E8%BD%AC%E8%AF%91%E5%92%8C%E8%BF%90%E8%A1%8C%20TypeScript%20%E4%BB%A3%E7%A0%81%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%9C%80%E8%A6%81%E5%88%9B%E5%BB%BA%20tsconfig.json%20%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E4%B8%8B%E9%9D%A2%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%7B%5Cn%26%2334%3BcompilerOptions%26%2334%3B%3A%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Btarget%26%2334%3B%3A%26nbsp%3B%26%2334%3Bes2017%26%2334%3B%2C%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3Bmodule%26%2334%3B%3A%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5Cn%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E6%96%B0%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B9%B6%E5%91%BD%E5%90%8D%E4%B8%BA%20hello-world-typescript.ts%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E6%B7%BB%E5%8A%A0%20Shebang%20%E8%A1%8C%EF%BC%8C%E5%91%8A%E8%AF%89%20OS%20%E5%86%85%E6%A0%B8%E4%BD%BF%E7%94%A8%20ts-node%20%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B.%2Fnode_modules%2F.bin%2Fts-node%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%9C%A8%E6%88%91%E4%BB%AC%E7%9A%84%20TypeScript%20%E4%BB%A3%E7%A0%81%E4%B8%AD%E4%BD%BF%E7%94%A8%20await%20%E5%85%B3%E9%94%AE%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E6%8A%8A%E5%AE%83%E5%8C%85%E8%A3%85%E5%9C%A8%E4%B8%80%E4%B8%AA%E7%AB%8B%E5%8D%B3%E8%B0%83%E7%94%A8%E5%87%BD%E6%95%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%EF%BC%88IIFE%EF%BC%89%E4%B8%AD%EF%BC%8C%E6%AD%A3%E5%A6%82%20zx%20%E6%96%87%E6%A1%A3%E6%89%80%E5%BB%BA%E8%AE%AE%E7%9A%84%E9%82%A3%E6%A0%B7%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%2F%2F%26nbsp%3Bhello-world-typescript.ts%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnvoid%26nbsp%3B(async%26nbsp%3Bfunction%26nbsp%3B()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60ls%60%3B%5Cn%7D)()%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E9%9C%80%E8%A6%81%E8%AE%A9%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E.%2Fhello-world-typescript.ts%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E4%B8%8B%E9%9D%A2%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3Bls%5Cnhello-world-typescript.ts%5Cnnode_modules%5Cnpackage.json%5Cnpackage-lock.json%5CnREADME.md%5Cntsconfig.json%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%20TypeScript%20%E4%B8%AD%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%E8%84%9A%E6%9C%AC%E4%B8%8E%E4%BD%BF%E7%94%A8%20JavaScript%20%E7%9B%B8%E4%BC%BC%EF%BC%8C%E4%BD%86%E9%9C%80%E8%A6%81%E5%AF%B9%E6%88%91%E4%BB%AC%E7%9A%84%E4%BB%A3%E7%A0%81%E8%BF%9B%E8%A1%8C%E4%B8%80%E4%BA%9B%E9%A2%9D%E5%A4%96%E7%9A%84%E9%85%8D%E7%BD%AE%E5%92%8C%E5%8C%85%E8%A3%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%9E%84%E5%BB%BA%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E7%94%A8%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E7%9A%84%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AF%86%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E7%94%A8%E5%AE%83%E6%9D%A5%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B7%A5%E5%85%B7%E3%80%82%E8%BF%99%E4%B8%AA%E5%B7%A5%E5%85%B7%E5%B0%86%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E9%80%9A%E5%B8%B8%E5%BE%88%E8%80%97%E6%97%B6%E7%9A%84%E8%BF%87%E7%A8%8B%EF%BC%9A%E4%B8%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E7%9A%84%E9%85%8D%E7%BD%AE%E6%8F%90%E4%BE%9B%E5%BC%95%E5%AF%BC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BA%A4%E4%BA%92%E5%BC%8F%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E8%BE%93%E5%85%A5%E3%80%82%E5%AE%83%E8%BF%98%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E5%86%85%E7%BD%AE%E7%9A%84%20chalk%20%E5%BA%93%EF%BC%8C%E4%BB%A5%E4%B8%8D%E5%90%8C%E7%9A%84%E9%A2%9C%E8%89%B2%E9%AB%98%E4%BA%AE%E8%BE%93%E5%87%BA%EF%BC%8C%E5%B9%B6%E6%8F%90%E4%BE%9B%E4%B8%80%E4%B8%AA%E5%8F%8B%E5%A5%BD%E7%9A%84%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C%E3%80%82%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E8%BF%98%E5%B0%86%E5%AE%89%E8%A3%85%E6%96%B0%E9%A1%B9%E7%9B%AE%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%EF%BC%8C%E6%89%80%E4%BB%A5%E5%AE%83%E5%B7%B2%E7%BB%8F%E5%87%86%E5%A4%87%E5%A5%BD%E8%AE%A9%E6%88%91%E4%BB%AC%E7%AB%8B%E5%8D%B3%E5%BC%80%E5%A7%8B%E5%BC%80%E5%8F%91%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%87%86%E5%A4%87%E5%BC%80%E5%A7%8B%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%90%8D%E4%B8%BA%20bootstrap-tool.mjs%20%E7%9A%84%E6%96%B0%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B9%B6%E6%B7%BB%E5%8A%A0%20shebang%20%E8%A1%8C%E3%80%82%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E4%BB%8E%20zx%20%E5%8C%85%E4%B8%AD%E5%AF%BC%E5%85%A5%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E7%94%A8%E7%9A%84%E5%87%BD%E6%95%B0%E5%92%8C%E6%A8%A1%E5%9D%97%EF%BC%8C%E4%BB%A5%E5%8F%8A%20Node.js%20%E6%A0%B8%E5%BF%83%20path%20%E6%A8%A1%E5%9D%97%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%23!%26nbsp%3B%2Fusr%2Fbin%2Fenv%26nbsp%3Bnode%5Cn%2F%2F%26nbsp%3Bbootstrap-tool.mjs%5Cnimport%26nbsp%3B%7B%26nbsp%3B%24%2C%26nbsp%3Bargv%2C%26nbsp%3Bcd%2C%26nbsp%3Bchalk%2C%26nbsp%3Bfs%2C%26nbsp%3Bquestion%26nbsp%3B%7D%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bzx%26%2334%3B%3B%5Cnimport%26nbsp%3Bpath%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bpath%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8E%E6%88%91%E4%BB%AC%E4%B9%8B%E5%89%8D%E5%88%9B%E5%BB%BA%E7%9A%84%E8%84%9A%E6%9C%AC%E4%B8%80%E6%A0%B7%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E4%BD%BF%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E8%84%9A%E6%9C%AC%E5%8F%AF%E6%89%A7%E8%A1%8C%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Echmod%26nbsp%3Bu%2Bx%26nbsp%3Bbootstrap-tool.mjs%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%BF%98%E5%B0%86%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E7%94%A8%E7%BA%A2%E8%89%B2%E6%96%87%E6%9C%AC%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%EF%BC%8C%E5%B9%B6%E4%BB%A5%E9%94%99%E8%AF%AF%E9%80%80%E5%87%BA%E4%BB%A3%E7%A0%81%201%20%E9%80%80%E5%87%BA%20Node.js%20%E8%BF%9B%E7%A8%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Efunction%26nbsp%3BexitWithError(errorMessage)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconsole.error(chalk.red(errorMessage))%3B%5Cn%26nbsp%3B%26nbsp%3Bprocess.exit(1)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BD%93%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%A4%84%E7%90%86%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E9%80%9A%E8%BF%87%E6%88%91%E4%BB%AC%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E5%9C%A8%E5%90%84%E4%B8%AA%E5%9C%B0%E6%96%B9%E4%BD%BF%E7%94%A8%E8%BF%99%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E9%9C%80%E8%A6%81%E4%BD%BF%E7%94%A8%E4%B8%89%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%A8%8B%E5%BA%8F%E6%9D%A5%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%9Agit%E3%80%81node%20%E5%92%8C%20npx%E3%80%82%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20which%20%E5%BA%93%E6%9D%A5%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E6%A3%80%E6%9F%A5%E8%BF%99%E4%BA%9B%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E5%AE%89%E8%A3%85%E5%B9%B6%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%A6%96%E5%85%88%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%20which%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--save-dev%26nbsp%3Bwhich%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%BC%95%E5%85%A5%E5%AE%83%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eimport%26nbsp%3Bwhich%26nbsp%3Bfrom%26nbsp%3B%26%2334%3Bwhich%26%2334%3B%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BD%BF%E7%94%A8%E5%AE%83%E7%9A%84%20checkRequiredProgramsExist%20%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckRequiredProgramsExist(programs)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3Bprogram%26nbsp%3Bof%26nbsp%3Bprograms)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bwhich(program)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BRequired%26nbsp%3Bcommand%26nbsp%3B%24%7Berror.message%7D%60)%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%90%8D%E7%A7%B0%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%95%B0%E7%BB%84%EF%BC%8C%E5%AF%B9%E6%AF%8F%E4%B8%AA%E7%A8%8B%E5%BA%8F%E8%B0%83%E7%94%A8%20which%20%E5%87%BD%E6%95%B0%E3%80%82%E5%A6%82%E6%9E%9C%20which%20%E6%89%BE%E5%88%B0%E4%BA%86%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%B7%AF%E5%BE%84%EF%BC%8C%E5%AE%83%E5%B0%86%E8%BF%94%E5%9B%9E%E8%AF%A5%E7%A8%8B%E5%BA%8F%E3%80%82%E5%90%A6%E5%88%99%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%AF%A5%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E6%8A%9B%E5%87%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E3%80%82%E5%A6%82%E6%9E%9C%E6%9C%89%E4%BB%BB%E4%BD%95%E7%A8%8B%E5%BA%8F%E6%89%BE%E4%B8%8D%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E8%B0%83%E7%94%A8%20exitWithError%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%E5%B9%B6%E5%81%9C%E6%AD%A2%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%8F%AF%E4%BB%A5%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%AF%B9%20checkRequiredProgramsExist%20%E7%9A%84%E8%B0%83%E7%94%A8%EF%BC%8C%E4%BB%A5%E6%A3%80%E6%9F%A5%E6%88%91%E4%BB%AC%E7%9A%84%E5%B7%A5%E5%85%B7%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%8F%AF%E7%94%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckRequiredProgramsExist(%5B%26%2334%3Bgit%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnode%26%2334%3B%2C%26nbsp%3B%26%2334%3Bnpx%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%B7%BB%E5%8A%A0%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E9%80%89%E9%A1%B9%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%94%B1%E4%BA%8E%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%B0%86%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E5%90%AF%E5%8A%A8%E6%96%B0%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%88%91%E4%BB%AC%E5%B8%8C%E6%9C%9B%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9A%84%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E3%80%82%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E8%A6%81%E7%BB%99%E8%84%9A%E6%9C%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%20--directory%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3Ezx%20%E5%86%85%E7%BD%AE%E4%BA%86%20minimist%20%E5%8C%85%EF%BC%8C%E5%AE%83%E8%83%BD%E5%A4%9F%E8%A7%A3%E6%9E%90%E4%BC%A0%E9%80%92%E7%BB%99%E8%84%9A%E6%9C%AC%E7%9A%84%E4%BB%BB%E4%BD%95%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E3%80%82%E8%BF%99%E4%BA%9B%E8%A2%AB%E8%A7%A3%E6%9E%90%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E8%A2%AB%20zx%20%E5%8C%85%E4%BD%9C%E4%B8%BA%20argv%20%E6%8F%90%E4%BE%9B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E4%B8%BA%E5%90%8D%E4%B8%BA%20directory%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E6%A3%80%E6%9F%A5%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Elet%26nbsp%3BtargetDirectory%26nbsp%3B%3D%26nbsp%3Bargv.directory%3B%5Cnif%26nbsp%3B(!targetDirectory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%26%2334%3BError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%26%2334%3B)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%20directory%20%E5%8F%82%E6%95%B0%E8%A2%AB%E4%BC%A0%E9%80%92%E7%BB%99%E4%BA%86%E6%88%91%E4%BB%AC%E7%9A%84%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%E5%AE%83%E6%98%AF%E5%90%A6%E6%98%AF%E5%B7%B2%E7%BB%8F%E5%AD%98%E5%9C%A8%E7%9A%84%E7%9B%AE%E5%BD%95%E7%9A%84%E8%B7%AF%E5%BE%84%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%8F%90%E4%BE%9B%E7%9A%84%20fs.pathExists%20%E6%96%B9%E6%B3%95%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3EtargetDirectory%26nbsp%3B%3D%26nbsp%3Bpath.resolve(targetDirectory)%3B%5Cnif%26nbsp%3B(!(await%26nbsp%3Bfs.pathExists(targetDirectory)))%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3BexitWithError(%60Error%3A%26nbsp%3BTarget%26nbsp%3Bdirectory%26nbsp%3B%26%2339%3B%24%7BtargetDirectory%7D%26%2339%3B%26nbsp%3Bdoes%26nbsp%3Bnot%26nbsp%3Bexist%60)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E8%B7%AF%E5%BE%84%E5%AD%98%E5%9C%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20zx%20%E6%8F%90%E4%BE%9B%E7%9A%84%20cd%20%E5%87%BD%E6%95%B0%E6%9D%A5%E5%88%87%E6%8D%A2%E5%BD%93%E5%89%8D%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%9B%AE%E5%BD%95%EF%BC%9A%E2%80%8D%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Ecd(targetDirectory)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E5%9C%A8%E6%B2%A1%E6%9C%89--directory%20%E5%8F%82%E6%95%B0%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%88%91%E4%BB%AC%E5%BA%94%E8%AF%A5%E4%BC%9A%E6%94%B6%E5%88%B0%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3E%24%26nbsp%3B.%2Fbootstrap-tool.mjs%5CnError%3A%26nbsp%3BYou%26nbsp%3Bmust%26nbsp%3Bspecify%26nbsp%3Bthe%26nbsp%3B--directory%26nbsp%3Bargument%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%A3%80%E6%9F%A5%E5%85%A8%E5%B1%80%20Git%20%E8%AE%BE%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%A8%8D%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%8C%E4%BD%86%E9%A6%96%E5%85%88%E6%88%91%E4%BB%AC%E8%A6%81%E6%A3%80%E6%9F%A5%20Git%20%E6%98%AF%E5%90%A6%E6%9C%89%E5%AE%83%E9%9C%80%E8%A6%81%E7%9A%84%E9%85%8D%E7%BD%AE%E3%80%82%E6%88%91%E4%BB%AC%E8%A6%81%E7%A1%AE%E4%BF%9D%E6%8F%90%E4%BA%A4%E4%BC%9A%E8%A2%AB%20GitHub%20%E7%AD%89%E4%BB%A3%E7%A0%81%E6%89%98%E7%AE%A1%E6%9C%8D%E5%8A%A1%E6%AD%A3%E7%A1%AE%E5%BD%92%E7%B1%BB%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E5%81%9A%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%8C%E8%BF%99%E9%87%8C%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E7%B4%A2%20Git%20%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%E7%9A%84%E5%80%BC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetGlobalGitSettingValue(settingName)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B%26%2334%3B%26%2334%3B%3B%5Cn%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3B(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60git%26nbsp%3Bconfig%26nbsp%3B--global%26nbsp%3B--get%26nbsp%3B%24%7BsettingName%7D%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B).stdout.trim()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%2F%2F%26nbsp%3BIgnore%26nbsp%3Bprocess%26nbsp%3Boutput%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BsettingValue%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%A0%E4%BC%9A%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E5%85%B3%E9%97%AD%20zx%20%E9%BB%98%E8%AE%A4%E8%AE%BE%E7%BD%AE%E7%9A%84%20verbose%20%E6%A8%A1%E5%BC%8F%E3%80%82%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%EF%BC%8C%E5%BD%93%E6%88%91%E4%BB%AC%E8%BF%90%E8%A1%8C%20git%20config%20%E5%91%BD%E4%BB%A4%E6%97%B6%EF%BC%8C%E8%AF%A5%E5%91%BD%E4%BB%A4%E5%92%8C%E5%AE%83%E5%8F%91%E9%80%81%E5%88%B0%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E7%9A%84%E4%BB%BB%E4%BD%95%E5%86%85%E5%AE%B9%E9%83%BD%E4%B8%8D%E4%BC%9A%E8%A2%AB%E6%98%BE%E7%A4%BA%E3%80%82%E6%88%91%E4%BB%AC%E5%9C%A8%E5%87%BD%E6%95%B0%E7%9A%84%E7%BB%93%E5%B0%BE%E5%A4%84%E5%B0%86%20verbose%20%E6%A8%A1%E5%BC%8F%E9%87%8D%E6%96%B0%E6%89%93%E5%BC%80%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E5%BD%B1%E5%93%8D%E5%88%B0%E6%88%91%E4%BB%AC%E7%A8%8D%E5%90%8E%E5%9C%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%B7%BB%E5%8A%A0%E7%9A%84%E4%BB%BB%E4%BD%95%E5%85%B6%E4%BB%96%E5%91%BD%E4%BB%A4%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%20checkGlobalGitSettings%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A5%E5%87%BD%E6%95%B0%E6%8E%A5%E6%94%B6%20Git%20%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%E7%BB%84%E6%88%90%E7%9A%84%E6%95%B0%E7%BB%84%E3%80%82%E5%AE%83%E5%B0%86%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%E6%AF%8F%E4%B8%AA%E8%AE%BE%E7%BD%AE%E5%90%8D%E7%A7%B0%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E4%BC%A0%E9%80%92%E7%BB%99%20getGlobalGitSettingValue%20%E5%87%BD%E6%95%B0%E4%BB%A5%E6%A3%80%E7%B4%A2%E5%85%B6%E5%80%BC%E3%80%82%E5%A6%82%E6%9E%9C%E8%AE%BE%E7%BD%AE%E6%B2%A1%E6%9C%89%E5%80%BC%EF%BC%8C%E5%B0%86%E6%98%BE%E7%A4%BA%E8%AD%A6%E5%91%8A%E4%BF%A1%E6%81%AF%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BcheckGlobalGitSettings(settingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(let%26nbsp%3BsettingName%26nbsp%3Bof%26nbsp%3BsettingsToCheck)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BsettingValue%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetGlobalGitSettingValue(settingName)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!settingValue)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.warn(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.yellow(%60Warning%3A%26nbsp%3BGlobal%26nbsp%3Bgit%26nbsp%3Bsetting%26nbsp%3B%26%2339%3B%24%7BsettingName%7D%26%2339%3B%26nbsp%3Bis%26nbsp%3Bnot%26nbsp%3Bset.%60)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E7%BB%99%20checkGlobalGitSettings%20%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E8%B0%83%E7%94%A8%EF%BC%8C%E6%A3%80%E6%9F%A5%20user.name%20%E5%92%8C%20user.email%20%E7%9A%84%20Git%20%E8%AE%BE%E7%BD%AE%E6%98%AF%E5%90%A6%E5%B7%B2%E7%BB%8F%E8%A2%AB%E8%AE%BE%E7%BD%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3BcheckGlobalGitSettings(%5B%26%2334%3Buser.name%26%2334%3B%2C%26nbsp%3B%26%2334%3Buser.email%26%2334%3B%5D)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%88%9D%E5%A7%8B%E5%8C%96%20Git%20%E4%BB%93%E5%BA%93%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E6%B7%BB%E5%8A%A0%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%E5%9C%A8%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%8B%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84%20Git%20%E4%BB%93%E5%BA%93%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Binit%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20package.json%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%AF%8F%E4%B8%AA%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%83%BD%E9%9C%80%E8%A6%81%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E8%BF%99%E6%98%AF%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E5%AE%9A%E4%B9%89%E5%85%83%E6%95%B0%E6%8D%AE%E7%9A%84%E5%9C%B0%E6%96%B9%EF%BC%8C%E6%8C%87%E5%AE%9A%E9%A1%B9%E7%9B%AE%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E5%8C%85%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%B7%BB%E5%8A%A0%E5%AE%9E%E7%94%A8%E7%9A%84%E8%84%9A%E6%9C%AC%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E6%88%91%E4%BB%AC%E4%B8%BA%E9%A1%B9%E7%9B%AE%E7%94%9F%E6%88%90%20package.json%20%E6%96%87%E4%BB%B6%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E5%88%9B%E5%BB%BA%E5%87%A0%E4%B8%AA%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E3%80%82%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%98%AF%20readPackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E5%AE%83%E5%B0%86%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%AF%BB%E5%8F%96%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BreadPackageJson(directory)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3Bfs.readJSON(packageJsonFilepath)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20writePackageJson%20%E5%87%BD%E6%95%B0%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E5%AE%83%E6%9D%A5%E5%90%91%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E5%86%99%E5%85%A5%E6%9B%B4%E6%94%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BwritePackageJson(directory%2C%26nbsp%3Bcontents)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackageJsonFilepath%26nbsp%3B%3D%26nbsp%3B%60%24%7Bdirectory%7D%2Fpackage.json%60%3B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3Bfs.writeJSON(packageJsonFilepath%2C%26nbsp%3Bcontents%2C%26nbsp%3B%7B%26nbsp%3Bspaces%3A%26nbsp%3B2%26nbsp%3B%7D)%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%20fs.readJSON%20%E5%92%8C%20fs.writeJSON%20%E6%96%B9%E6%B3%95%E6%98%AF%E7%94%B1%20fs-extra%20%E5%BA%93%E6%8F%90%E4%BE%9B%E7%9A%84%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E5%AE%9A%E4%B9%89%E4%BA%86%20package.json%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%BC%80%E5%A7%8B%E8%80%83%E8%99%91%20package.json%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E6%94%AF%E6%8C%81%E4%B8%A4%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cul%20style%3D%5C%22%5C%22%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ECommonJS%20Modules%20(CJS)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DKTweLvts6a1zOlUbn0cnCA%253D%253D.WRSoJ3t37Y2GYjanjStt81N%252BkCOGoR11gK8pv6Fck09uaKTSXHq5mvMcWutIRxYU%3C%2Fspan%3E%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%BF%E7%94%A8%20module.exports%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20require()%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3Cli%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EECMAScript%20Modules%20(ESM)%E3%80%82%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DOUbF%252BkjeOpAlt3Fo9PFGFw%253D%253D.Ex%252BQVnop7rVNKtYxrnp%252Fhcm08eFRE7K2XLUBlFFQ7D4%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E4%BD%BF%E7%94%A8%20export%20%E6%9D%A5%E5%AF%BC%E5%87%BA%E5%87%BD%E6%95%B0%E5%92%8C%E5%AF%B9%E8%B1%A1%EF%BC%8C%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B8%AD%E4%BD%BF%E7%94%A8%20import%20%E5%8A%A0%E8%BD%BD%E5%AE%83%E4%BB%AC%E3%80%82%3C%2Fspan%3E%3C%2Fli%3E%3C%2Ful%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3ENode.js%20%E7%94%9F%E6%80%81%E7%B3%BB%E7%BB%9F%E6%AD%A3%E5%9C%A8%E9%80%90%E6%AD%A5%E9%87%87%E7%94%A8%20ES%20%E6%A8%A1%E5%9D%97%EF%BC%8C%E8%BF%99%E5%9C%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%20JavaScript%20%E4%B8%AD%E6%98%AF%E5%BE%88%E5%B8%B8%E8%A7%81%E7%9A%84%E3%80%82%E5%BD%93%E4%BA%8B%E6%83%85%E5%A4%84%E4%BA%8E%E8%BF%87%E6%B8%A1%E9%98%B6%E6%AE%B5%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E5%86%B3%E5%AE%9A%E6%88%91%E4%BB%AC%E7%9A%84%20Node.js%20%E9%A1%B9%E7%9B%AE%E9%BB%98%E8%AE%A4%E4%BD%BF%E7%94%A8%20CJS%20%E6%A8%A1%E5%9D%97%E8%BF%98%E6%98%AF%20ESM%20%E6%A8%A1%E5%9D%97%E3%80%82%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%BF%99%E4%B8%AA%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E7%A7%8D%E6%A8%A1%E5%9D%97%E7%B1%BB%E5%9E%8B%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForModuleSystem(moduleSystems)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Which%26nbsp%3BNode.js%26nbsp%3Bmodule%26nbsp%3Bsystem%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Buse%3F%26nbsp%3B(%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26nbsp%3Bor%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D)%26nbsp%3B%60%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchoices%3A%26nbsp%3BmoduleSystems%2C%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BmoduleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E5%87%BD%E6%95%B0%E4%BD%BF%E7%94%A8%E7%9A%84%20question%20%E5%87%BD%E6%95%B0%E7%94%B1%20zx%20%E6%8F%90%E4%BE%9B%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getNodeModuleSystem%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E8%B0%83%E7%94%A8%20promptForModuleSystem%20%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%83%E5%B0%86%E6%A3%80%E6%9F%A5%E6%89%80%E8%BE%93%E5%85%A5%E7%9A%84%E5%80%BC%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%8D%E6%98%AF%EF%BC%8C%E5%AE%83%E5%B0%86%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetNodeModuleSystem()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BmoduleSystems%26nbsp%3B%3D%26nbsp%3B%5B%26%2334%3Bmodule%26%2334%3B%2C%26nbsp%3B%26%2334%3Bcommonjs%26%2334%3B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForModuleSystem(moduleSystems)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BisValidModuleSystem%26nbsp%3B%3D%26nbsp%3BmoduleSystems.includes(selectedModuleSystem)%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!isValidModuleSystem)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BModule%26nbsp%3Bsystem%26nbsp%3Bmust%26nbsp%3Bbe%26nbsp%3Beither%26nbsp%3B%26%2339%3B%24%7BmoduleSystems.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%26%2339%3B%26nbsp%3Bor%26nbsp%3B%26%2339%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%26%2339%3B%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BselectedModuleSystem%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E8%BF%90%E8%A1%8C%20npm%20init%20%E5%91%BD%E4%BB%A4%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npm%26nbsp%3Binit%26nbsp%3B--yes%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%E6%9D%A5%E8%AF%BB%E5%8F%96%E6%96%B0%E5%88%9B%E5%BB%BA%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E3%80%82%E6%88%91%E4%BB%AC%E5%B0%86%E8%AF%A2%E9%97%AE%E9%A1%B9%E7%9B%AE%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E5%93%AA%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%B3%BB%E7%BB%9F%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E8%AE%BE%E7%BD%AE%E4%B8%BA%20packageJson%20%E5%AF%B9%E8%B1%A1%E4%B8%AD%E7%9A%84%20type%20%E5%B1%9E%E6%80%A7%E5%80%BC%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%E5%85%B6%E5%86%99%E5%9B%9E%E5%88%B0%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackageJson%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BselectedModuleSystem%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetNodeModuleSystem()%3B%5CnpackageJson.type%26nbsp%3B%3D%26nbsp%3BselectedModuleSystem%3B%5Cnawait%26nbsp%3BwritePackageJson(targetDirectory%2C%26nbsp%3BpackageJson)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%8F%90%E7%A4%BA%EF%BC%9A%E5%BD%93%E4%BD%A0%E7%94%A8--yes%20%E6%A0%87%E5%BF%97%E8%BF%90%E8%A1%8C%20npm%20init%20%E6%97%B6%EF%BC%8C%E8%A6%81%E6%83%B3%E5%9C%A8%20package.json%20%E4%B8%AD%E8%8E%B7%E5%BE%97%E5%90%88%E7%90%86%E7%9A%84%E9%BB%98%E8%AE%A4%E5%80%BC%EF%BC%8C%E8%AF%B7%E7%A1%AE%E4%BF%9D%E4%BD%A0%E8%AE%BE%E7%BD%AE%E4%BA%86%20npminit-*%E7%9A%84%E9%85%8D%E7%BD%AE%E8%AE%BE%E7%BD%AE%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DX0aVKO8sVtj0bgZhFmgjVw%253D%253D.hxYbJxX5X2odlcPpk5MdIVLkT7ESAsFMhFnFSRBftI2c2BjNTUCtV1gwdXnpxWGI%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E9%A1%B9%E7%9B%AE%E4%BE%9D%E8%B5%96%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E4%BD%BF%E8%BF%90%E8%A1%8C%E6%88%91%E4%BB%AC%E7%9A%84%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E5%90%8E%E8%83%BD%E5%A4%9F%E8%BD%BB%E6%9D%BE%E5%9C%B0%E5%BC%80%E5%A7%8B%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20promptForPackages%20%E5%87%BD%E6%95%B0%EF%BC%8C%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E5%93%AA%E4%BA%9B%20npm%20%E5%8C%85%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BpromptForPackages()%26nbsp%3B%7B%5Cnlet%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3Bquestion(%5Cn%26nbsp%3B%26nbsp%3B%26%2334%3BWhich%26nbsp%3Bnpm%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Byou%26nbsp%3Bwant%26nbsp%3Bto%26nbsp%3Binstall%26nbsp%3Bfor%26nbsp%3Bthis%26nbsp%3Bproject%3F%26nbsp%3B%26%2334%3B%5Cn)%3B%5CnpackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall%5Cn%26nbsp%3B%26nbsp%3B.trim()%5Cn%26nbsp%3B%26nbsp%3B.split(%26%2334%3B%26nbsp%3B%26%2334%3B)%5Cn%26nbsp%3B%26nbsp%3B.filter((pkg)%26nbsp%3B%3D%26gt%3B%26nbsp%3Bpkg)%3B%5Cnreturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E9%98%B2%E6%AD%A2%E6%88%91%E4%BB%AC%E5%9C%A8%E8%BE%93%E5%85%A5%E5%8C%85%E5%90%8D%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E5%88%AB%E5%AD%97%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20identifyInvalidNpmPackages%20%E5%87%BD%E6%95%B0%E3%80%82%E8%BF%99%E4%B8%AA%E5%87%BD%E6%95%B0%E5%B0%86%E6%8E%A5%E5%8F%97%E4%B8%80%E4%B8%AA%20npm%20%E5%8C%85%E5%90%8D%E6%95%B0%E7%BB%84%EF%BC%8C%E7%84%B6%E5%90%8E%E8%BF%90%E8%A1%8C%20npm%20view%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E6%A3%80%E6%9F%A5%E5%AE%83%E4%BB%AC%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BidentifyInvalidNpmPackages(packages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Bfalse%3B%5Cn%26nbsp%3B%26nbsp%3Blet%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3B%5B%5D%3B%5Cn%26nbsp%3B%26nbsp%3Bfor%26nbsp%3B(const%26nbsp%3Bpkg%26nbsp%3Bof%26nbsp%3Bpackages)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Btry%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Bview%26nbsp%3B%24%7Bpkg%7D%60%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%26nbsp%3Bcatch%26nbsp%3B(error)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3BinvalidPackages.push(pkg)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3B%24.verbose%26nbsp%3B%3D%26nbsp%3Btrue%3B%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BinvalidPackages%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%AE%A9%E6%88%91%E4%BB%AC%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20getPackagesToInstall%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E5%88%9A%E5%88%9A%E5%88%9B%E5%BB%BA%E7%9A%84%E4%B8%A4%E4%B8%AA%E5%87%BD%E6%95%B0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Easync%26nbsp%3Bfunction%26nbsp%3BgetPackagesToInstall()%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BpromptForPackages()%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BinvalidPackages%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BidentifyInvalidNpmPackages(packagesToInstall)%3B%5Cn%26nbsp%3B%26nbsp%3Bconst%26nbsp%3BallPackagesExist%26nbsp%3B%3D%26nbsp%3BinvalidPackages.length%26nbsp%3B%3D%3D%3D%26nbsp%3B0%3B%5Cn%26nbsp%3B%26nbsp%3Bif%26nbsp%3B(!allPackagesExist)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bconsole.error(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Bchalk.red(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60Error%3A%26nbsp%3BThe%26nbsp%3Bfollowing%26nbsp%3Bpackages%26nbsp%3Bdo%26nbsp%3Bnot%26nbsp%3Bexist%26nbsp%3Bon%26nbsp%3Bnpm%3A%26nbsp%3B%24%7BinvalidPackages.join(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26%2334%3B%2C%26nbsp%3B%26%2334%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%7D%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B)%3B%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3Breturn%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cn%26nbsp%3B%26nbsp%3B%7D%5Cn%26nbsp%3B%26nbsp%3Breturn%26nbsp%3BpackagesToInstall%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%A6%82%E6%9E%9C%E6%9C%89%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%90%8D%E7%A7%B0%E4%B8%8D%E6%AD%A3%E7%A1%AE%EF%BC%8C%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%8D%E6%AC%A1%E8%AF%A2%E9%97%AE%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%80%E6%97%A6%E6%88%91%E4%BB%AC%E5%BE%97%E5%88%B0%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%E7%9A%84%E6%9C%89%E6%95%88%E5%8C%85%E5%88%97%E8%A1%A8%EF%BC%8C%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20npm%20install%20%E5%91%BD%E4%BB%A4%E6%9D%A5%E5%AE%89%E8%A3%85%E5%AE%83%E4%BB%AC%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3BpackagesToInstall%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BgetPackagesToInstall()%3B%5Cnconst%26nbsp%3BhavePackagesToInstall%26nbsp%3B%3D%26nbsp%3BpackagesToInstall.length%26nbsp%3B%26gt%3B%26nbsp%3B0%3B%5Cnif%26nbsp%3B(havePackagesToInstall)%26nbsp%3B%7B%5Cn%26nbsp%3B%26nbsp%3Bawait%26nbsp%3B%24%60npm%26nbsp%3Binstall%26nbsp%3B%24%7BpackagesToInstall%7D%60%3B%5Cn%7D%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E4%B8%BA%E5%B7%A5%E5%85%B7%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE%E6%98%AF%E6%88%91%E4%BB%AC%E7%94%A8%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B7%A5%E5%85%B7%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E7%9A%84%E6%9C%80%E4%BD%B3%E4%BA%8B%E9%A1%B9%E3%80%82%E9%A6%96%E5%85%88%EF%BC%8C%E8%AE%A9%E6%88%91%E4%BB%AC%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA.gitignore%20%E6%96%87%E4%BB%B6%EF%BC%8C%E8%BF%99%E6%A0%B7%E6%88%91%E4%BB%AC%E5%B0%B1%E4%B8%8D%E4%BC%9A%E6%84%8F%E5%A4%96%E5%9C%B0%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E4%B8%8D%E5%B8%8C%E6%9C%9B%E5%9C%A8%20Git%20%E4%BB%93%E5%BA%93%E4%B8%AD%E5%87%BA%E7%8E%B0%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bgitignore%26nbsp%3Bnode%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%91%BD%E4%BB%A4%E4%BD%BF%E7%94%A8%20gitignore%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DV%252FIoxipE2WxmNECDRNKMqg%253D%253D.7Y4d34n%252BoUVlJkYEiJt3NLa9RHn2pYtKq%252BHpO67HIQjfjKAHIxcMynZzTudktHaV%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E5%8C%85%EF%BC%8C%E4%BB%8E%20GitHub%20%E7%9A%84%20gitignore%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3E%20https%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DSzh56TKqT6gYmrJidM7ZXg%253D%253D.BK7Vf5F73GaplJKeN48OsobM6U4EPriatZOr3dBhsSVZIuIUiktyqfS1jhLLtQ7o%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%20%E6%A8%A1%E6%9D%BF%E4%B8%AD%E6%8B%89%E5%8F%96%20Node.js%20%E7%9A%84.gitignore%20%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%B8%BA%E4%BA%86%E7%94%9F%E6%88%90%E6%88%91%E4%BB%AC%E7%9A%84%20EditorConfig%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DdGD5%252BEyCTqLfqDSif7%252FHgQ%253D%253D.xgNWBjR6m%252FIUFlG1UmM3CYX2R%252BLXFN531lZhlvCRRWs%253D%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E3%80%81Prettier%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3Dn7clHFqLMZZala0zu1JjdQ%253D%253D.jivAg4cL8HkSAhuurMUHrlfhGGILOpveTQR0rjCRXyg%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%92%8C%20ESLint%20%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3DJ4jXEAmmBQ83%252FWSrOtTsAQ%253D%253D.b%252FKC0kT%252FZWZQ9KBItXDMQHWJBzc5aW9hUZsxWHBsMY4%253D%20%3C%2Fspan%3E%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%BD%BF%E7%94%A8%E4%B8%80%E4%B8%AA%E5%8F%AB%E5%81%9A%20Mrm%20%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%85%A8%E5%B1%80%E5%AE%89%E8%A3%85%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E7%9A%84%20mrm%20%E4%BE%9D%E8%B5%96%E9%A1%B9%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Enpm%26nbsp%3Binstall%26nbsp%3B--global%26nbsp%3Bmrm%26nbsp%3Bmrm-task-editorconfig%26nbsp%3Bmrm-task-prettier%26nbsp%3Bmrm-task-eslint%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%B7%BB%E5%8A%A0%20mrm%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beditorconfig%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Bprettier%60%3B%5Cnawait%26nbsp%3B%24%60npx%26nbsp%3Bmrm%26nbsp%3Beslint%60%3B%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3EMrm%20%E8%B4%9F%E8%B4%A3%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BB%A5%E5%8F%8A%E5%AE%89%E8%A3%85%E6%89%80%E9%9C%80%E7%9A%84%20npm%20%E5%8C%85%E3%80%82%E5%AE%83%E8%BF%98%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A4%A7%E9%87%8F%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%8C%E5%85%81%E8%AE%B8%E6%88%91%E4%BB%AC%E8%B0%83%E6%95%B4%E7%94%9F%E6%88%90%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BB%A5%E7%AC%A6%E5%90%88%E6%88%91%E4%BB%AC%E7%9A%84%E4%B8%AA%E4%BA%BA%E5%81%8F%E5%A5%BD%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E7%94%9F%E6%88%90%20README%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E7%9A%84%20readPackageJson%20%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%8E%E9%A1%B9%E7%9B%AE%E7%9A%84%20package.json%20%E6%96%87%E4%BB%B6%E4%B8%AD%E8%AF%BB%E5%8F%96%E9%A1%B9%E7%9B%AE%E5%90%8D%E7%A7%B0%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%9F%E6%88%90%E4%B8%80%E4%B8%AA%E5%9F%BA%E6%9C%AC%E7%9A%84%20Markdown%20%E6%A0%BC%E5%BC%8F%E7%9A%84%20README%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E5%86%99%E5%85%A5%20README.md%20%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econst%26nbsp%3B%7B%26nbsp%3Bname%3A%26nbsp%3BprojectName%26nbsp%3B%7D%26nbsp%3B%3D%26nbsp%3Bawait%26nbsp%3BreadPackageJson(targetDirectory)%3B%5Cnconst%26nbsp%3BreadmeContents%26nbsp%3B%3D%26nbsp%3B%60%23%26nbsp%3B%24%7BprojectName%7D%5Cn...%5Cn%60%3B%5Cnawait%26nbsp%3Bfs.writeFile(%60%24%7BtargetDirectory%7D%2FREADME.md%60%2C%26nbsp%3BreadmeContents)%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E5%87%BD%E6%95%B0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20fs-extra%20%E6%9A%B4%E9%9C%B2%E7%9A%84%20fs.writeFile%20%E7%9A%84%20promise%20%E5%8F%98%E9%87%8F%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E6%8F%90%E4%BA%A4%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%80%E5%90%8E%EF%BC%8C%E6%98%AF%E6%97%B6%E5%80%99%E6%8F%90%E4%BA%A4%E6%88%91%E4%BB%AC%E7%94%A8%20git%20%E5%88%9B%E5%BB%BA%E7%9A%84%E9%A1%B9%E7%9B%AE%E9%AA%A8%E6%9E%B6%E4%BA%86%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Eawait%26nbsp%3B%24%60git%26nbsp%3Badd%26nbsp%3B.%60%3B%5Cnawait%26nbsp%3B%24%60git%26nbsp%3Bcommit%26nbsp%3B-m%26nbsp%3B%26%2334%3BAdd%26nbsp%3Bproject%26nbsp%3Bskeleton%26%2334%3B%60%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E7%84%B6%E5%90%8E%E6%88%91%E4%BB%AC%E5%B0%86%E6%98%BE%E7%A4%BA%E4%B8%80%E6%9D%A1%E6%B6%88%E6%81%AF%EF%BC%8C%E7%A1%AE%E8%AE%A4%E6%88%91%E4%BB%AC%E7%9A%84%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B7%B2%E7%BB%8F%E6%88%90%E5%8A%9F%E5%90%AF%E5%8A%A8%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Econsole.log(%5Cn%26nbsp%3B%26nbsp%3Bchalk.green(%5Cn%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%60%5C%5Cn%E2%9C%94%EF%B8%8F%26nbsp%3BThe%26nbsp%3Bproject%26nbsp%3B%24%7BprojectName%7D%26nbsp%3Bhas%26nbsp%3Bbeen%26nbsp%3Bsuccessfully%26nbsp%3Bbootstrapped!%5C%5Cn%60%5Cn%26nbsp%3B%26nbsp%3B)%5Cn)%3B%5Cnconsole.log(chalk.green(%60Add%26nbsp%3Ba%26nbsp%3Bgit%26nbsp%3Bremote%26nbsp%3Band%26nbsp%3Bpush%26nbsp%3Byour%26nbsp%3Bchanges.%60))%3B%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%E5%90%AF%E5%8A%A8%E6%96%B0%E9%A1%B9%E7%9B%AE%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cpre%3E%3Ccode%3Emkdir%26nbsp%3Bnew-project%5Cn.%2Fbootstrap-tool.mjs%26nbsp%3B--directory%26nbsp%3Bnew-project%5Cn%3C%2Fcode%3E%3C%2Fpre%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%B9%B6%E8%A7%82%E7%9C%8B%E6%88%91%E4%BB%AC%E6%89%80%E5%81%9A%E7%9A%84%E4%B8%80%E5%88%87%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cstrong%3E%3Cspan%20style%3D%5C%22color%3A%20%23009A5B%3B%20--tt-darkmode-color%3A%20%23009A5B%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-009a5b%5C%22%3E%E6%80%BB%E7%BB%93%3C%2Fspan%3E%3C%2Fstrong%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E5%AD%A6%E4%BC%9A%E4%BA%86%E5%A6%82%E4%BD%95%E5%9C%A8%20Node.js%20%E4%B8%AD%E5%80%9F%E5%8A%A9%20Google%20%E7%9A%84%20zx%20%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E5%BC%BA%E5%A4%A7%E7%9A%84%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E4%BA%86%E5%AE%83%E6%8F%90%E4%BE%9B%E7%9A%84%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%92%8C%E5%BA%93%E6%9D%A5%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E7%81%B5%E6%B4%BB%E7%9A%84%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%88%B0%E7%9B%AE%E5%89%8D%E4%B8%BA%E6%AD%A2%EF%BC%8C%E6%88%91%E4%BB%AC%E6%89%80%E6%9E%84%E5%BB%BA%E7%9A%84%E5%B7%A5%E5%85%B7%E5%8F%AA%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BC%80%E5%A7%8B%E3%80%82%E8%BF%99%E9%87%8C%E6%9C%89%E4%B8%80%E4%BA%9B%E5%8A%9F%E8%83%BD%E7%82%B9%E5%AD%90%EF%BC%8C%E4%BD%A0%E5%8F%AF%E8%83%BD%E6%83%B3%E5%B0%9D%E8%AF%95%E8%87%AA%E5%B7%B1%E6%B7%BB%E5%8A%A0%EF%BC%9A%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E3%80%82%E5%A6%82%E6%9E%9C%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E8%BF%98%E4%B8%8D%E5%AD%98%E5%9C%A8%EF%BC%8C%E5%88%99%E6%8F%90%E7%A4%BA%E7%94%A8%E6%88%B7%E5%B9%B6%E8%AF%A2%E9%97%AE%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E6%83%B3%E8%A6%81%E4%B8%BA%E4%BB%96%E4%BB%AC%E5%88%9B%E5%BB%BA%E8%AF%A5%E7%9B%AE%E5%BD%95%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E5%BC%80%E6%BA%90%E5%8D%AB%E7%94%9F%E3%80%82%E9%97%AE%E9%97%AE%E7%94%A8%E6%88%B7%E4%BB%96%E4%BB%AC%E6%98%AF%E5%90%A6%E5%9C%A8%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B0%86%E6%98%AF%E5%BC%80%E6%BA%90%E7%9A%84%E9%A1%B9%E7%9B%AE%E3%80%82%E5%A6%82%E6%9E%9C%E6%98%AF%E7%9A%84%E8%AF%9D%EF%BC%8C%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%9D%A5%E7%94%9F%E6%88%90%E8%AE%B8%E5%8F%AF%E8%AF%81%E5%92%8C%E8%B4%A1%E7%8C%AE%E8%80%85%E6%96%87%E4%BB%B6%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E8%87%AA%E5%8A%A8%E5%88%9B%E5%BB%BA%20GitHub%20%E4%B8%8A%E7%9A%84%E4%BB%93%E5%BA%93%E3%80%82%E6%B7%BB%E5%8A%A0%E4%BD%BF%E7%94%A8%20GitHub%20CLI%20%E7%9A%84%E5%91%BD%E4%BB%A4%EF%BC%8C%E5%9C%A8%20GitHub%20%E4%B8%8A%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E3%80%82%E4%B8%80%E6%97%A6%E7%94%A8%20Git%20%E6%8F%90%E4%BA%A4%E4%BA%86%E5%88%9D%E5%A7%8B%E9%AA%A8%E6%9E%B6%EF%BC%8C%E6%96%B0%E9%A1%B9%E7%9B%AE%E5%B0%B1%E5%8F%AF%E4%BB%A5%E8%A2%AB%E6%8E%A8%E9%80%81%E5%88%B0%E8%BF%99%E4%B8%AA%E4%BB%93%E5%BA%93%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E9%83%BD%E5%8F%AF%E4%BB%A5%E5%9C%A8%20GitHub%20%E4%B8%8A%E6%89%BE%E5%88%B0%E3%80%82%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E6%9C%AC%E6%96%87%E8%AF%91%E8%87%AA%EF%BC%9A%3C%2Fspan%3E%3Cspan%20style%3D%5C%22font-size%3A%2015px%3B%5C%22%3E%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3Ehttps%3A%2F%2Flink.segmentfault.com%2F%3Fenc%3D5Z%252ByLQNgua%252FY5gnguxXllg%253D%253D.SeNINYETng%252BH6uZupDjhsYNRqM5GWB5jXVDlvMdMqsO9u3CmWfwe8DwT48iAvK%252Fsm8pflQ8jbxHc1sB281%252B6pA%253D%253D%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BD%9C%E8%80%85%EF%BC%9A%3Cspan%20style%3D%5C%22color%3A%20%23888888%3B%20--tt-darkmode-color%3A%20%23888888%3B%5C%22%20class%3D%5C%22data-color--tt-darkmode-888888%5C%22%3ESimon%20Plenderleith%3C%2Fspan%3E%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cspan%20style%3D%5C%22font-size%3A%2017px%3B%5C%22%3E%E4%BB%A5%E4%B8%8A%E5%B0%B1%E6%98%AF%E6%9C%AC%E6%96%87%E7%9A%84%E6%89%80%E6%9C%89%E5%86%85%E5%AE%B9%E3%80%82%E5%A6%82%E6%9E%9C%E5%AF%B9%E4%BD%A0%E6%9C%89%E6%89%80%E5%B8%AE%E5%8A%A9%EF%BC%8C%E6%AC%A2%E8%BF%8E%E7%82%B9%E8%B5%9E%E3%80%81%E6%94%B6%E8%97%8F%E3%80%81%E8%BD%AC%E5%8F%91~%3C%2Fspan%3E%3C%2Fp%3E%3Cp%20style%3D%5C%22text-align%3A%20left%3Bline-height%3A%201.75%3Bmargin%3A%200px%208px%200px%3B%5C%22%3E%3Cbr%3E%3C%2Fp%3E%3Chr%3E%22%2C%22imageList%22%3A%5B%5D%2C%22mediaInfo%22%3A%7B%22userId%22%3A%22MS4wLjABAAAAALgaZcaEw302LpLR3urMLwWumy7RhRJdvO5OQTPSimk3DY1esVBzNdwNxv9AfWyH%22%2C%22unsafeUserId%22%3A%224288553596503552%22%2C%22name%22%3A%22%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22avatarUrl%22%3A%22https%3A%2F%2Fsf3-cdn-tos.toutiaostatic.com%2Fimg%2Fuser-avatar%2Fc14bb151d3505084033c82ee8238acde~300x300.image%22%2C%22description%22%3A%22%E6%AC%A2%E8%BF%8E%E5%85%B3%E6%B3%A8VX%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6%E4%B8%8E%E4%BF%A1%E6%81%AF%E5%8C%96%22%2C%22userVerified%22%3A1%7D%2C%22seoTDK%22%3A%7B%22title%22%3A%22%E7%A4%BE%E5%8C%BA%E7%B2%BE%E9%80%89%EF%BD%9C%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20zx%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC-%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1%22%2C%22description%22%3A%22%E5%9C%A8%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E4%B8%AD%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E5%AD%A6%E4%B9%A0%E8%B0%B7%E6%AD%8C%E7%9A%84%20zx%20%E5%BA%93%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E6%88%91%E4%BB%AC%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E6%9D%A5%E7%94%A8%20Node.js%20%E7%BC%96%E5%86%99%20shell%20%E8%84%9A%E6%9C%AC%E3%80%82%22%2C%22keywords%22%3A%22%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80%2CNode.js%2CGoogle%2CJavaScript%2CBash%2CTypeScript%2CZsh%2CGitHub%2C%E7%BE%8E%E5%A5%BD%EF%BC%8C%E4%B8%80%E7%9B%B4%E5%9C%A8%E8%BA%AB%E8%BE%B9%22%2C%22publishTimestamp%22%3A%221678237205%22%2C%22modifiedTimestamp%22%3A%221685548306%22%7D%2C%22cover%22%3A%22https%3A%2F%2Fp3-sign.toutiaoimg.com%2Flarge%2Ftos-cn-i-qvj2lq49k0%2F7894dd4439eb4e78ad35208f496e841a%3F_iz%3D58558%26from%3Darticle.pc_detail%26x-expires%3D1690103402%26x-signature%3D5z%252FNWR2V4o%252B5W0fhczXkGuaSyYE%253D%22%2C%22logId%22%3A%222023071617100290B65219A60FE2C10ABA%22%2C%22sylpageConfig%22%3A%7B%22card%22%3A%7B%22id%22%3A%22%22%7D%7D%2C%22identity%22%3A%7B%22web_id%22%3A%227235169635611018810%22%2C%22user_is_login%22%3Afalse%7D%2C%22abtestInfo%22%3A%7B%22rsp_type%22%3A5%2C%22version_name%22%3A%224938400%22%2C%22parameters%22%3A%7B%22filter%22%3A%7B%22debug_enable_pc_small_video%22%3Afalse%2C%22enable_pc_small_video%22%3Atrue%7D%2C%22home_nav_conf%22%3A%7B%22dcd_out%22%3A1%7D%2C%22optimus%22%3A%7B%22rule_rank_rules%22%3A%22ranking_rule_list%20%7B%5Cn%20%20id%3A%201221233%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2212123%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%202%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%2020458%5Cn%20%20priority%3A%203%5Cn%20%20enabled%3A%20true%5Cn%20%20category%3A%2020458%5Cn%20%20type%3A%20WINDOW%5Cn%20%20window_rule%20%7B%5Cn%20%20%20%20type%3A%20SLIDE%5Cn%20%20%20%20size%3A%203%5Cn%20%20%20%20max%3A%201%5Cn%20%20%7D%5Cn%7D%5Cn%20ranking_rule_list%20%7B%5Cn%20%20id%3A%201111024%5Cn%20priority%3A%200%5Cn%20tags%3A%20%5C%2211024%5C%22%5Cn%20%20enabled%3A%20true%5Cn%20%20type%3A%20CARD%5Cn%20%20card_rule%20%7B%5Cn%20size%3A%206%5Cn%20type%3A%20SAME_SLOT%20%5Cn%7D%5Cn%20%7D%22%7D%2C%22page_upgrade%22%3A%7B%22new_profile%22%3Atrue%2C%22video_double_column%22%3Atrue%7D%2C%22recall%22%3A%7B%22debug_filter_reason_list%22%3A%5B%5D%2C%22debug_recall_reason_list%22%3A%5B70%2C71%2C72%2C73%2C80%2C83%5D%2C%22enable_debug_filter_reason%22%3Atrue%2C%22enable_debug_recall_reason%22%3Atrue%2C%22friend_feed%22%3A%7B%22control_nums%22%3A1500%2C%22count%22%3A1000%2C%22enable%22%3Atrue%2C%22enable_cpp_friend_feed%22%3Atrue%2C%22enable_friend_feed_container_filter%22%3Atrue%2C%22enable_group_status_filter%22%3Atrue%2C%22params%22%3A%7B%7D%2C%22top_k%22%3A10%2C%22use_new_friend_recall%22%3Atrue%2C%22valid_group_source%22%3A%5B2%2C5%2C15%2C23%2C16%2C19%2C21%2C132%5D%2C%22weight%22%3A20%7D%7D%2C%22seraph%22%3A%7B%22rule_rank_rules_pc_small%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20%20%20%20%20%20id%3A%2022124%20%5Cn%20%20%20%20%20%20%20%20%20priority%3A%200%20%5Cn%20%20%20%20%20%20%20%20%20tags%3A%20%5C%2222124%5C%22%20%5Cn%20%20%20%20%20%20%20%20%20enabled%3A%20true%20%5Cn%20%20%20%20%20%20%20%20%20type%3A%20CARD%20%5Cn%20%20%20%20%20%20%20%20%20card_rule%20%7B%20%5Cn%20%20%20%20%20%20%20%20%20size%3A%206%20%5Cn%20%20%20%20%20%20%20%20%20num_cards%3A%201%5Cn%20%20%20%20%20%20%20%20%20type%3A%20SAME_SLOT%20%5Cn%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%22%2C%22rule_rank_rules_pc_small_window%22%3A%22%5Cn%20%20%20%20%20%20ranking_rule_list%20%7B%5Cn%20%20%20%20id%3A%20222124%5Cn%20%20%20priority%3A%200%5Cn%20%20%20tags%3A%20%5C%2222124%5C%22%5Cn%20%20%20%20enabled%3A%20false%5Cn%20%20%20%20type%3A%20WINDOW%5Cn%20%20%20%20window_rule%20%7B%5Cn%20%20%20type%3A%20SLIDE%20%5Cn%20%20%20size%3A%2012%20%5Cn%20%20%20max%3A%206%20%5Cn%20%20%20%7D%5Cn%20%20%20%7D%22%7D%2C%22small_sort%22%3A%7B%22enable_filter_zhanwai%22%3Atrue%2C%22filter_genre_plog%22%3Afalse%2C%22filter_genre_small%22%3Afalse%2C%22skip_small_app_version_filter%22%3Afalse%2C%22skip_small_genre_filter%22%3Afalse%7D%2C%22sort%22%3A%7B%22allowed_ticai%22%3A%5B%22forum_post%22%2C%22pgc_text%22%2C%22pgc_video%22%2C%22short_video%22%5D%2C%22enable_optimus_gen_pc_mv_card%22%3Atrue%2C%22enable_optimus_gen_pc_sv_card%22%3Atrue%2C%22enable_pc_skip_app_smallvideo_card%22%3Atrue%7D%2C%22ugc_sort%22%3A%7B%22expore_smallvideo%22%3Atrue%7D%2C%22video_channel%22%3A%7B%22use_feed%22%3A1%2C%22rank%22%3A5%7D%7D%2C%22env_flag%22%3A0%7D%2C%22localCityInfo%22%3A%7B%22name%22%3A%22%E8%A5%84%E9%98%B3%22%2C%22code%22%3A%22420600%22%2C%22channelId%22%3A3202181326%7D%2C%22voteLink%22%3A%5B%7B%22keyword%22%3A%22%E6%9C%AB%E4%B8%96%E9%87%8D%E7%94%9F%EF%BC%8C%E6%88%91%E6%8A%A2%E4%BA%86%E5%A5%B3%E4%B8%BB%E7%9A%84%E9%87%91%E6%89%8B%E6%8C%87%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7045105728742231079%22%7D%2C%7B%22keyword%22%3A%22%E4%BA%BA%E5%9C%A8%E6%B5%B7%E8%B4%BC%3A%E6%88%91%E6%88%90%E4%B8%BA%E4%BA%86%E6%B5%B7%E5%86%9B%E5%A5%B3%E7%8E%8B%EF%BC%81%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7070145477789879300%22%7D%2C%7B%22keyword%22%3A%22%E6%B2%A1%E7%9E%8E%E7%9C%BC%E4%B8%89%E5%B9%B4%EF%BC%8C%E4%BD%86%E6%88%91%E7%9A%84%E5%AD%A6%E7%94%9F%E4%B8%8D%E6%98%AF%E4%BA%BA%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F7118385133568134175%22%7D%2C%7B%22keyword%22%3A%22%E7%9C%9F%E5%8D%83%E9%87%91%E4%BB%8E%E4%BF%AE%E7%9C%9F%E7%95%8C%E5%9B%9E%E6%9D%A5%E4%BA%86%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fpage%2F6983183491827502094%22%7D%2C%7B%22keyword%22%3A%22%E5%BC%82%E4%B8%96%E7%9B%B8%E9%81%87%E5%B0%BD%E4%BA%AB%E7%A4%BE%E6%AD%BB%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F583844%22%7D%2C%7B%22keyword%22%3A%22python%20ols%E5%9B%9E%E5%BD%92%E5%88%86%E6%9E%90%E7%BB%93%E6%9E%9C%E6%80%8E%E4%B9%88%E7%9C%8B%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131680%22%7D%2C%7B%22keyword%22%3A%22%E7%A5%9E%E5%A5%87%E5%AE%9D%E8%B4%9D%E4%B9%8B%E5%85%A8%E8%83%BD%E6%8E%8C%E9%97%A8%E4%BA%BA%E8%87%B4%E5%85%89%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F738595%22%7D%2C%7B%22keyword%22%3A%22%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3java8%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1131722%22%7D%2C%7B%22keyword%22%3A%22linux%20mysql%20%E6%97%A5%E5%BF%97%E6%B8%85%E7%90%86%22%2C%22type%22%3A%22%E5%90%8E%E7%AB%AF%22%2C%22url%22%3A%22https%3A%2F%2Fbackend.devrank.cn%2Ftraffic-aggregation%2F1182964%22%7D%2C%7B%22keyword%22%3A%22%E6%88%91%E5%9C%A8%E5%AE%9D%E5%8F%AF%E6%A2%A6%E4%B8%96%E7%95%8C%E6%88%90%E4%B8%BA%E7%AC%AC%E4%B8%80%22%2C%22type%22%3A%22%E5%B0%8F%E8%AF%B4%22%2C%22url%22%3A%22https%3A%2F%2Ffanqienovel.com%2Fkeyword%2F188604%22%7D%5D%2C%22grSensitive%22%3Afalse%2C%22showResearch%22%3Afalse%2C%22blockVisibility%22%3A%7B%22hotBoard%22%3Atrue%2C%22hotVideo%22%3Atrue%2C%22relatedRecommend%22%3Atrue%7D%2C%22isGreyTheme%22%3Afalse%2C%22searchBot%22%3Anull%7D%7D
gitcommit-m"Addprojectskeleton"`;
然后我们将显示一条消息,确认我们的新项目已经成功启动:
console.log(
chalk.green(
`\n✔️Theproject${projectName}hasbeensuccessfullybootstrapped!\n`
)
);
console.log(chalk.green(`Addagitremoteandpushyourchanges.`));
启动新项目
mkdirnew-project
./bootstrap-tool.mjs--directorynew-project
并观看我们所做的一切。
总结
在这篇文章中,我们已经学会了如何在 Node.js 中借助 Google 的 zx 库来创建强大的 shell 脚本。我们使用了它提供的实用功能和库来创建一个灵活的命令行工具。
到目前为止,我们所构建的工具只是一个开始。这里有一些功能点子,你可能想尝试自己添加:
自动创建目标目录。如果目标目录还不存在,则提示用户并询问他们是否想要为他们创建该目录。
开源卫生。问问用户他们是否在创建一个将是开源的项目。如果是的话,运行命令来生成许可证和贡献者文件。
自动创建 GitHub 上的仓库。添加使用 GitHub CLI 的命令,在 GitHub 上创建一个远程仓库。一旦用 Git 提交了初始骨架,新项目就可以被推送到这个仓库。
本文中的所有代码都可以在 GitHub 上找到。
本文译自: https://link.segmentfault.com/?enc=5Z%2ByLQNgua%2FY5gnguxXllg%3D%3D.SeNINYETng%2BH6uZupDjhsYNRqM5GWB5jXVDlvMdMqsO9u3CmWfwe8DwT48iAvK%2Fsm8pflQ8jbxHc1sB281%2B6pA%3D%3D
作者:Simon Plenderleith
以上就是本文的所有内容。如果对你有所帮助,欢迎点赞、收藏、转发~