در اینجا نحوه استفاده Nue.js رنگ ها را برای خروجی کنسول در CLI اعمال می کند.

در این مقاله ، ما بررسی خواهیم کرد که چگونه Nue.js رنگ ها را در سیاهههای مربوط به کنسول در CLI اعمال می کند.
من این عملکرد ورود به سیستم را در پرونده CLI.JS پیدا کردم.
async function printVersion() {
log(`Nue ${version} ${colors.green('•')} ${getEngine()}`)
}
عملکرد ورود به سیستم از بسته ها/nuekit/src/upil.js وارد می شود
export function log(msg, extra="") {
console.log(colors.green('✓'), msg, extra)
}
رنگ ها در اینجا چیست؟ عملکرد رنگ در همان پرونده تعریف شده است و کد زیر را دارد:
// رنگ های کنسول صادر کننده رنگهای const رنگ = عملکرد () {کدهای const = {قرمز: 31 ، سبز: 32 ، زرد: 33 ، آبی: 34 ، مگنتا: 35 ، سیان: 36 ، خاکستری: 90} const fns = {} const nocolor = process.env.no_color || ![key] = msg => nocolor؟ msg: `\ u001b[${codes[key]} m $ {msg} \ u001b[39m`
}
return fns
}()
I find this function really interesting because in the wild, OSS projects use Picocolors or chalk to apply colors to the console output in the CLI.
There’s codes and noColor is set to true if there is an env, NO_COLOR, or when the platform is ‘win32’ and TERM is set (not sure what this TERM is).
The trick is in the below code:
for (const key in codes) {
fns[key] = msg => nocolor؟ msg: `\ u001b[${codes[key]} m $ {msg} \ u001b[39m`
}
Here a \u001b[${codes[key]} m $ {msg} \ u001b[39m[39m
است رشته الگوی معمولاً در JavaScript یا Typescript برای قالب بندی استفاده می شود خروجی کنسول با رنگ با استفاده از کدهای فرار ANSIبشر جالب
درباره من:
سلام ، نام من رامو ناراسینگا است. من پروژه های بزرگ منبع باز را مطالعه می کنم و در مورد معماری پایگاه کد آنها و بهترین شیوه ها مطالب ایجاد می کنم و آن را از طریق مقاله ، فیلم به اشتراک می گذارم.
من برای کار روی پروژه های جالب باز هستم. برای من ایمیل بفرستید در ramu.narasinga@gmail.com
GitHub من-https://github.com/ramu-narasinga
وب سایت من – https://ramunarasinga.com
کانال یوتیوب من-https://www.youtube.com/@ramu-narasinga
پلت فرم یادگیری – https://thinkthroo.com
معماری پایگاه کد – https://app.thinkthroo.com/architecture
بهترین روشها-https://app.thinkthroo.com/best-practices
پروژه های درجه تولید-https://app.thinkthroo.com/production-prade-projects
منابع:
-
https://github.com/nuejs/nue/blob/master/packages/nuekit/src/util.js#l47
-
https://github.com/nuejs/nue/blob/master/packages/nuekit/src/util.js#l38
-
https://github.com/nuejs/nue/blob/master/packages/nuekit/src/cli.js#l82
-
https://www.npmjs.com/package/chalk
-
https://www.npmjs.com/package/picocolors