Rumah > Artikel > hujung hadapan web > Memperkemas Organisasi Fail dalam Projek JS: Mengautomasikan fail Bersarang dengan Bash
Dalam projek JS selalunya anda bermula dengan satu fail untuk komponen, atau apa-apa sahaja dalam hal itu.
Pada peringkat tertentu anda mungkin mendapati anda memerlukan fail tambahan, untuk ujian dll.
cth.
Saya mengelak perkara itu,
Saya rasa adalah lebih kemas untuk meletakkan semua fail berkaitan di dalam folder dan menggunakan konvensyen penamaan fail indeks.
Jadi, sebaik sahaja saya memerlukan fail kedua, biasanya saya akan memindahkan my-component.tsx ke sebagai
folder my-component/index.tsx
Untuk modul CommonJS dan esm, kedua-dua fail ini adalah setara
Ciri yang bagus untuk ini, ialah import: import { Foo } daripada "./my-service" akan berfungsi dengan kedua-dua fail my-service.ts dan my-service/index.ts, tanpa memerlukan sebarang perubahan kepada laluan import
Saya rasa agak memenatkan untuk melakukan tarian...
$ mkdir -p components/my-service
$ git mv components/my-component.tsx components/my-component/index.tsx
Dan jika saya tersalah ingat sama ada fail itu belum lagi di bawah kawalan versi, saya mungkin mendapat
fatal: not under version control, source=components/my-component.tsx, destination=components/my-component/index.tsx
-lagi kegusaran..
Atau mungkin lebih menjengkelkan, jika saya tersilap sebaliknya dan menggunakan mv, saya boleh mendapat status git
Changes not staged for commit: deleted: components/my-component.tsx Untracked files: components/my-component/
Memandangkan arahan mv lalai akan dianggap sebagai pemadaman dan penciptaan fail baharu oleh git
Saya telah menulis skrip bash untuk mengautomasikan tarian
$ ./nest.sh components/my-component.tsx
menghasilkan
$ tree components components └── my-component └── index.tsx
Jika fail berada di bawah kawalan versi, skrip menggunakan git mv sebaliknya menggunakan mv lama biasa
berbilang fail...
$ ./nest.sh components/my-component.tsx $ ./nest.sh components/my-component.spec.ts $ ./nest.sh components/my-component.css
menghasilkan
$ tree components components └── my-component └── index.tsx └── index.spec.ts └── index.css
Lihat skrip bash dalam Github Gist di sini
Saya mempunyai skrip bernama nest yang berada dalam folder bin dalam $PATH saya supaya saya boleh menggunakannya sebagai arahan di mana-mana sahaja
Atas ialah kandungan terperinci Memperkemas Organisasi Fail dalam Projek JS: Mengautomasikan fail Bersarang dengan Bash. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!