Tutorial ini menunjukkan cara membuat alat antara muka baris perintah node.js menggunakan caporal.js untuk mengautomasikan penciptaan projek JavaScript baru. Bosan dengan persediaan projek berulang? Penyelesaian ini membolehkan anda membina alat perancah yang disesuaikan untuk menyelaraskan aliran kerja anda.
Proses memanfaatkan JavaScript dan perpustakaan yang sedia ada, menghapuskan keperluan untuk alat khusus atau bahasa yang kompleks. Pendekatan ini menawarkan beberapa kelebihan:
Walaupun alat yang sedia ada seperti Yeoman menawarkan fungsi yang sama, membina sendiri memberikan pemahaman yang lebih mendalam dan penyesuaian yang tiada tandingannya. Tutorial ini menggunakan caporal.js untuk pembinaan CLI, prompt
untuk input pengguna, dan shelljs
untuk manipulasi sistem fail. Projek yang telah siap boleh didapati di GitHub: https://www.php.cn/link/2F803D26CE47B9F9DE9AF69E5B73E3D1
Bermula dengan caporal.js
package.json
{ "name": "scaffold", "version": "1.0.0", "main": "index.js", "bin": { "scaffold": "index.js" }, "dependencies": { "caporal": "^0.3.0", "colors": "^1.1.2", "prompt": "^1.0.0", "shelljs": "^0.7.7" } }
. npm install
dalam bin
menentukan perintah CLI (package.json
) dan titik masuknya (scaffold
). index.js
Membina titik entri index.js
mentakrifkan arahan CLI dan tindakan mereka. CLI kami akan mempunyai arahan tunggal index.js
dengan pilihan untuk menentukan templat dan variasi: create
#!/usr/bin/env node const prog = require('caporal'); const createCmd = require('./lib/create'); prog .version('1.0.0') .command('create', 'Create a new application') .argument('<template>', 'Template to use') .option('--variant <variant>', 'Which variant of the template to create') .action(createCmd); prog.parse(process.argv);
Mewujudkan templat projek
Templat menentukan struktur dan fail projek. Buat direktori, kemudian subdirektori untuk setiap jenis templat (mis., templates
). Setiap direktori templat hendaklah mengandungi fail yang diperlukan dan templates/node/default
dengan pembolehubah tempat (mis., templates/node/mvc
). Fail package.json
menyenaraikan pembolehubah ini untuk input pengguna. [NAME]
[VERSION]
_variables.js
Melaksanakan perintah
create
Fail mengandungi logik untuk perintah
{ "name": "scaffold", "version": "1.0.0", "main": "index.js", "bin": { "scaffold": "index.js" }, "dependencies": { "caporal": "^0.3.0", "colors": "^1.1.2", "prompt": "^1.0.0", "shelljs": "^0.7.7" } }
Fungsi ini mengendalikan menyalin fail templat, mendorong pengguna untuk nilai berubah, dan menggantikan ruang letak dalam fail. Perintah shelljs.sed
adalah penting untuk penggantian dinamik ini.
Membuat CLI tersedia secara global
Run npm link
dalam direktori projek untuk menjadikan CLI diakses secara global. Anda kemudian boleh menjalankan arahan seperti scaffold create node --variant mvc
dari mana -mana direktori.
Memperluas CLI
Fleksibiliti pendekatan ini membolehkan sambungan yang ketara:
Tutorial ini menyediakan asas yang kukuh untuk membina alat perancah projek yang kuat dan disesuaikan. Ingatlah untuk berunding dengan repositori GitHub untuk kod lengkap dan butiran lanjut.
Atas ialah kandungan terperinci Buat alat perancah gaya yeoman anda sendiri dengan caporal.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!