Rumah  >  Artikel  >  hujung hadapan web  >  Artikel ini membincangkan cara menggunakan perpustakaan zx untuk menulis skrip Shell dalam Nodejs

Artikel ini membincangkan cara menggunakan perpustakaan zx untuk menulis skrip Shell dalam Nodejs

青灯夜游
青灯夜游ke hadapan
2022-01-19 19:42:233543semak imbas

Bagaimana untuk menulis skrip Shell dalam Node? Artikel berikut akan memperkenalkan kepada anda cara menggunakan perpustakaan zx untuk menulis skrip Shell dalam Node saya harap ia akan membantu anda!

Artikel ini membincangkan cara menggunakan perpustakaan zx untuk menulis skrip Shell dalam Nodejs

Skrip Shell

Buat skrip shell, iaitu skrip yang dilaksanakan oleh shell, seperti Bash atau zsh, ialah kaedah biasa yang digunakan untuk mengautomasikan tugasan berulang, terutamanya untuk kakitangan operasi dan penyelenggaraan. Untuk jurutera bahagian hadapan, menggunakan Node.js untuk menulis skrip shell ialah pilihan yang baik kerana ia menyediakan banyak modul teras dan boleh mengimport perpustakaan skrip bahagian hadapan yang lain, mengurangkan kos pembelajaran.

Jika anda cuba menulis skrip shell yang dijalankan di bawah Node.js tanpa bantuan zx.js, anda mungkin mendapati ia tidak selancar yang anda harapkan. Pengendalian khas perlu ditulis untuk subproses, berhati-hati untuk melarikan diri dari argumen baris arahan dan kemudian gunakan stdout stdout dan stderr stderr, ia tidak begitu intuitif dan menjadi sangat sukar untuk menulis menggunakan skrip shell.

Bahasa skrip shell Bash ialah pilihan terbaik untuk menulis skrip shell tanpa menulis kod untuk mengendalikan subproses dan ia mempunyai ciri bahasa terbina dalam untuk mengendalikan stdout dan stderr. Tetapi menulis skrip shell dalam Bash juga tidak semudah itu, dan sintaksnya boleh menjadi agak mengelirukan, menjadikannya kurang mudah untuk melaksanakan logik atau mengendalikan perkara seperti menggesa input pengguna.

Pustaka zx.js Google membantu menulis skrip dengan cekap dan gembira menggunakan Node.jsshell.

Tapak web rasmi: https://github.com/google/zx#-zx

Pemasangan

Untuk hadapan -end Bagi jurutera, adalah perkara biasa untuk memasang kebergantungan Jalankan skrip berikut:

npm install zx

Gunakan

Google zx.js menyediakan pakej Penciptaan proses dan fungsi kanak-kanak untuk mengendalikan stdout dan stderr daripada proses ini. Fungsi utama yang akan digunakan di bawah ialah fungsi $, menggunakan zx.js menentukan bahawa skrip ditulis ke dalam fail dengan sambungan .mjs supaya await boleh digunakan di peringkat atas. Jika anda terbiasa dengan sambungan .js, bungkus skrip anda dengan sesuatu seperti void async function () {...}().

Mula-mula kita gunakan sambungan .mjs Setiap fail .mjs akan bermula dengan kod berikut:

#! /usr/bin/env node

Mari laksanakan skrip shell ls fungsi, buat fail ls.mjs, kod lengkap adalah seperti berikut:

#! /usr/bin/env node

import { $ } from "zx";
$.verbose = false;
const output = (await $`ls`).stdout.trim();
console.log(output);

adalah sama dengan fail skrip shell, ia perlu ditukar kepada fail boleh laku:

chmod +x ./ls.mjs

di bawah Mari laksanakan skrip shell ini yang ditulis dalam Node.js, laksanakan:

./ls.mjs

Artikel ini membincangkan cara menggunakan perpustakaan zx untuk menulis skrip Shell dalam Nodejs

Google zx.js juga menyediakan fungsi praktikal lain untuk memudahkan penulisan skrip shell , untuk contoh:

cd(): Membenarkan menukar direktori kerja semasa question(): Pembalut untuk modul baris baca Node.js, yang boleh terus menggesa pengguna untuk input.

#! /usr/bin/env node

import { $, cd } from "zx";
$.verbose = false; // 默认为true,以详细模式运行
const output = (await $`ls`).stdout.trim();
console.log(output);

const dirName = "zx-mkdir-tmp";
await $`mkdir ${dirName}`; // 创建目录

cd(`./${dirName}`);
const pwdOutput = (await $`pwd`).stdout.trim();
console.log(pwdOutput); // zx-mkdir-tmp

Selain daripada fungsi berguna yang disediakan oleh zx.js, ia juga menyediakan beberapa perpustakaan skrip popular, seperti:

  • kapur: Benarkan Tambahkan warna pada output skrip.
  • minimist: Pustaka yang menghuraikan argumen baris arahan, mendedahkannya di bawah objek argv.
  • ambil: Anda boleh menggunakan ini untuk membuat permintaan HTTP.
  • fs-extra: Mendedahkan modul teras Node.js fs, bersama-sama dengan banyak cara lain untuk memudahkan kerja dengan sistem fail.

Untuk lebih banyak pengetahuan berkaitan nod, sila lawati: tutorial nodejs! !

Atas ialah kandungan terperinci Artikel ini membincangkan cara menggunakan perpustakaan zx untuk menulis skrip Shell dalam Nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:juejin.cn. Jika ada pelanggaran, sila hubungi admin@php.cn Padam