Anda harus terlebih dahulu memastikan bahwa ada lingkungan node.js di komputer
dan menjalankan kode berikut pada baris perintah untuk menginisialisasi file package.json
npm init
-y mengeksekusi mycli
pada baris perintah.
Konfigurasikan perintah khusus
package.json
untuk menambahkan bidang bin
, dan kaitkan perintah mycli
.
"bin": { "mycli": "./test.js" },
/test.js
baruconsole.log ("perintah mycli berhasil dijalankan");
install
diperlukan, tetapi proyek belum dipublikasikan ke npm, jadi untuk saat ini, gunakan perintah npm link
untuk kaitkan perintah mycli
ke dunia global.Saat ini, jika Anda menjalankan mycli
dari baris perintah, kesalahan tidak akan dilaporkan lagi.
konfigurasi skrip
test.js:
console.log("eksekusi perintah mycli berhasil");
Kemudian jalankan mycli
, dan jendela pop-up kesalahan akan muncul.
Ini karena ketika menjalankan perintah mycli
, itu sama dengan membiarkan komputer mengeksekusi file tersebut, dan sistem komputer tidak dapat langsung mengeksekusi file js . Hal ini mengharuskan kita untuk menambahkan konfigurasi ke baris pertama kode skrip untuk menentukan node.js
di komputer untuk mengeksekusi file skrip js ini.
#!/usr/bin/env node
Karena lingkungan eksekusi telah diubah, mycli
perlu menghapus file yang ditautkan sebelumnya. Lokasi file mungkin C:Program Filesnodejsnode_modules
npm link
lagi.
Sekarang jalankan mycli
di konsol lagi, dan Anda dapat melihat bahwa konsol tersebut mencetak dengan benar.
Chalk
untuk menghasilkan font berwarna-warniOra
, mirip dengancommander
inquirer
seperti: ajukan pertanyaan...)kapur
npm install [email protected] -S
const chalk = memerlukan("kapur"); // kapur // const halo = kapur.merah("halo"); // const halo = kapur.biru.bgRed("halo"); // const hello = chalk.blue.bgYellow("halo"); const halo = chalk.rgb(200, 200, 200).bgRgb(0, 200, 3)("halo"); console.log(halo);
Ora
npm install [email protected] -S
const ora = require("ora"); // tidak const pemintal = ora({ teks: "Memasang..." }); pemintal.mulai(); setWaktu habis(() => { // pemintal.stop(); spinner.succeed("Instalasi berhasil"); // console.log("Instalasi berhasil"); }, 2000)
start
memuatstop
berhenti memuatsucceed
berakhir memuat dengan gaya sukseskomandan
, seperti vue -V
git --version
vue create
dan perintah lainnya, perlu menggunakan perpustakaan komandan untuk mengimplementasikan perintah tersebut.
-V
--help
, dll. setelah perintah yang digunakan dapat dipahami sebagai parameter dari perintah tersebut, maka kita perlu mendapatkan parameter ini dan menangani peristiwa yang berbeda dengan menilai perbedaan parameter.
Di lingkungan node , parameter ini dapat diperoleh melalui process.argv
. Pustaka komandan membantu kita merangkum beberapa metode tanpa kita harus menilai instruksi yang dibawa oleh masukan pengguna.
npm [email protected] -S
constcommander = require("commander"); // ... komandan.parse(proses.argv); // Setelah
instalasi selesai, komandan akan secara otomatis memberi kita beberapa perintah, seperti --help
. Mari kita uji di bawah ini:
mycli --help
komandan . version("1.0.0");
Jalankan mycli -V
dan Anda dapat melihat bahwa konsol mencetak nomor versi 1.0.0
.
Metode perintah khusus
commander.option(指令名, 描述, 回调函数)
--init
:command.option("--init", "this is init", () => { // kapur // const halo = kapur.merah("halo"); // const halo = kapur.biru.bgRed("halo"); // const hello = chalk.blue.bgYellow("halo"); const halo = chalk.rgb(200, 200, 200).bgRgb(0, 200, 3)("halo"); console.log(halo); // tidak const pemintal = ora({ teks: "Memasang..." }); pemintal.mulai(); setWaktu habis(() => { // pemintal.stop(); spinner.succeed("Instalasi berhasil"); // console.log("Instalasi berhasil"); }, 1000) })
Sekarang jalankan tes mycli --init
:
adalah Commander.option("--number <num>", "log a number", (num) => { konsol.log(angka); })
<参数名>
menunjukkan parameter yang harus dilewati, dan [参数名]
menunjukkan parameter yang tidak wajib dilewati. Masukkan mycli --number 100
di konsol dan tekan Enter. Anda dapat melihat 100
akan dihasilkan.
Metode perintah khusus
komandan.command("buat <namaproyek>").action((namaproyek)=>{ console.log(Namaproyek); })
Jalankan mycli create xx
dan tekan Enter. Anda dapat melihat xx
adalah output di konsol.
Lihat bantuan
dengan menjalankan mycli --help
. Anda dapat melihat bahwa instruksi dan perintah yang baru saja kita konfigurasikan muncul di daftar bantuan.
penyelidik
npm install penyelidik -S
prompt
untuk bertanyainquirer.prompt([ { ketik: "masukan", nama: "nama pengguna", pesan: "Silakan masukkan nama pengguna:" } ]).lalu((jawaban)=>{ })
type
menunjukkan jenis pertanyaan, dan nilainya dapat berupa: input
, number
, password
, editor
, dll.
answer
adalah {username: 输入的值}
input
dari tipe masukanconst inquirer = require("inquirer"); komandan.command("tambahkan pengguna").action(() => { penanya.prompt([ { ketik: "masukan", nama: "nama pengguna", pesan: "Silakan masukkan nama pengguna:" } ]).lalu((jawaban) => { konsol.log(jawaban); }) })
confirm
komandan.command("testcon").action(() => { penanya.prompt([ { ketik: "konfirmasi", nama: "umur", pesan: "Apakah Anda berusia di atas 18 tahun?" } ]).lalu((jawaban) => { konsol.log(jawaban); }) })
Masukkan y
atau n
untuk membuat penilaian.
list
pilihan radioCommander.command("testlist").action(() => { penanya.prompt([ { ketik: "daftar", nama: "lib", pesan: "Pilih kerangka yang akan digunakan:", pilihan: [ "vue2", "vue3", "bereaksi", "langsing", ] } ]).lalu((jawaban) => { konsol.log(jawaban); }) })
Jalankan perintah mycli testlist
:
download-git-repo adalah alat untuk menarik kode.
Instal
npm install [email protected] -S
const downgit = require("download-git-repo"); downgit("github:kongcodes/vue3-vant", downUrl, { clone: false }, function (err) { konsol.log(err) })
Parameter pertama dalam metode downgit
dipahami sebagai pengunduhan template proyek vue3-vant
pengguna kongcodes dari github. Parameter kedua downUrl
adalah direktori tempat template harus diunduh. Parameter ketiga clone
adalah apakah akan menggunakan git clone
untuk mendownload. Parameter keempat adalah beberapa hal yang harus dijalankan ketika pengunduhan selesai.
command
command.command("create <projectName>").action((projectName) => {bersamaan dengan metode perintah
const pemintal = ora({ teks: "Mengunduh https://github.com/kongcodes/vue3-vant..." }); pemintal.mulai(); fs.mkdirSync(`./${namaproyek}`); const downUrl = `${process.cwd()}\${projectName}`; downgit("github:kongcodes/vue3-vant", downUrl, { clone: false }, function (err) { jika (err) membuang err; pemintal.berhenti(); console.log(chalk.green("downgit sukses")); }) })
Jalankan mycli create pro
dan tekan Enter. Direktori pro
akan dibuat di direktori saat ini dan template vue3-vant
akan diunduh ke direktori ini.
https://github.com/kongcodes/mycli