Kata pengantar
Dalam pengembangan tim, apakah itu menulis front-end (JS, CSS, HTML) atau back-end, kita sering perlu memecahkan masalah: bagaimana menyatukan gaya kode tim. Artikel ini terutama menggunakan pra-git, Eslint, dan JS-Beautify untuk mengimplementasikan kontrol gaya kode.
Berikut ini adalah tiga alat dan metode penggunaan:
pra-git
Alat ini dapat mengimplementasikan fungsi GIT Hook, masukkan beberapa perilaku khusus ke dalam proses GIT, seperti menjalankan deteksi kode sebelum berkomitmen, dan jika tidak lulus, kesalahan akan dilaporkan.
Eslint
Alat Audit Format Kode, Anda dapat menggabungkan dan mengkonfigurasi berbagai gaya sesuka hati, dan menggunakannya untuk membentuk spesifikasi kode terpadu tim.
JS-BEAUTIFUT
Organisasi kode JS dan alat kecantikan.
Kemudian tiga alat bekerja sama satu sama lain untuk membuat efek berikut:
1. Pemimpin proyek mendefinisikan spesifikasi kode ESLINT.
2. Gunakan pra-git untuk menjalankan pemantauan kode eslint dan kecantikan kode-js-beautiful sebelum komit
3. Jika lulus, secara otomatis "Git Add." akan diizinkan untuk mendorong.
menyelesaikan
1: NPM Instal alat di atas
$ npm install eslint js-beautify pre-git --save-dev
Dua: Konfigurasi Alat
Buat file .eslintrc.json baru di direktori root dan konfigurasikan spesifikasinya, dan berikan versi yang disederhanakan:
Catatan: Jika Anda membutuhkan lebih banyak pengujian, silakan kunjungi situs web resmi Eslint
{"aturan": {"comma-dangle": ["error", "never"], "arrow-body-style": ["warn", "always"], "no-const-rintangan": ["error"]}, "parseroptions": {"ecmaversion": 6}}Karena pengujian, selalu ada kesalahan saat menggunakan file multi-lapisan rekursif JS-Bautif dalam bash, jadi skrip digunakan untuk mempercantik kode:
Beatufyjs.js
const fs = membutuhkan ('fs'); const path = membutuhkan ('path'); const child_process = membutuhkan ('child_process'); untuk (biarkan arg dari proses.argv.splice (2)) {let pathname = path.noin (proses.cwd (), arg); if( isFile( path.join( process.cwd(),arg ) ) ) ) { child_process.exec( `./node_modules/js-beautify/js/bin/js-beautify.js -P -E -j -a ${pathName} -r` , function( error, msg, stderr ) { console.log( msg.replace ('//// n', '')); } else {read_dir (pathname); }} fungsi read_dir (dir) {let file = fs.readdirsync (dir); untuk (biarkan file file) {let pathname = path.join (dir, file); if (isFile (pathname)) {child_process.exec (`./node_modules/js-beautify/js/bin/js-beautify.js -p -e -j -a $ {pathname} -r`, function (error, msg, stderr) {console.log) (ms '/}/} {msg' (msg, msg, msg, stderr) {console.log) (msg '(msg, msg, msg, stderr) {console.log (msg' (msg, msg, msg, msg, stderr) {console.log. ); } else {read_dir (pathname); }}} function isFile (path) {return exist (path) && fs.statsync (path) .isfile (); } fungsi ada (path) {return fs.existssync (path) || path.existssync (path); }Tiga: Gunakan alat di atas
Konfigurasikan dalam file package.json:
{"Name": "Demo", "Versi": "1.0.0", "Deskripsi": "", "Main": "Index.js", "Scripts": {"lint": "./node_modules/.bin/waktu runtime libs libs-Quiet", "lint fix". " --QUIET --Tix "," js-beautify ":" node --harmony --use_strict ./bin/beatufyjs.js lib middlewares index.js "}," penulis ":" kelvv "," lisensi ":" isc "," config ": {" pra-git ": {" commit-ms ":" isc "": {"pre-git": {"commit-ms": "isc" ": {" pre-git ": {" commit-ms ":" isc "": {"pre-git": {"commit-ms": "isc" ": {" pre-git ": {" commit-ms ":" isc "": {"pre-git": {"commit-ms": "iSc" " lint-fix "," npm menjalankan js-beautify "," git add. " ], "Pre-Push": [], "Post-Commit": [], "Post-checkout": [], "Post-Merge": []}}, "DevDependencies": {"Eslint": "^2.12.0", "js-beautify": "^1.6.3", "pra-git":^.Pada saat ini, ketika Anda memodifikasi salah satu file dan kemudian "git add && git commit -m 'msg'", tiga perintah dalam pra -komit akan dieksekusi. Jika ada kesalahan di tengah, pengajuan akan dihentikan dan pengajuan akan dilanjutkan setelah modifikasi selesai.
Satu hal yang perlu diperhatikan adalah bahwa jika beberapa masalah format tidak cukup untuk melaporkan kesalahan, metode modifikasi akan secara otomatis memodifikasi kode optimasi dan secara otomatis menambahkan dan memodifikasinya. Pada langkah terakhir, cukup jalankan: dorongan git ! Dapat dikombinasikan dengan tes unit, lebih baik
Meringkaskan
Di atas adalah semua konten cara meninjau kode tim secara otomatis menggunakan Node.js. Jika Anda membutuhkannya, Anda dapat merujuknya.