Rumah >hujung hadapan web >tutorial js >Repositori npm peribadi
Di bawah ialah panduan mendalam tentang cara menyediakan repositori npm peribadi, termasuk pelbagai alternatif dan coretan kod praktikal untuk membantu anda bermula. Sama ada anda seorang pembangun solo atau sebahagian daripada pasukan yang besar, mengehos pakej npm anda sendiri secara peribadi boleh memberi anda kawalan, fleksibiliti dan keselamatan yang dipertingkatkan.
Penyelesaian Dihoskan Sendiri
Diuruskan oleh Hos Git
npm Enterprise
Verdaccio ialah proksi pendaftaran npm sumber terbuka yang mudah untuk disediakan dan digunakan. Ia membolehkan anda mengehoskan pakej peribadi dan juga cache pakej awam daripada pendaftaran npm rasmi.
Dengan mengandaikan Node.js sudah dipasang pada mesin anda:
# Install Verdaccio globally npm install --global verdaccio
verdaccio
Secara lalai, Verdaccio bermula pada port 4873. Anda boleh membuka penyemak imbas anda ke http://localhost:4873 untuk melihat UI Verdaccio.
Verdaccio mencipta fail konfigurasi lalai pada larian pertama. Anda boleh menyesuaikannya dengan mengeditnya (laluan fail mungkin berbeza-beza bergantung pada sistem anda). Konfigurasi biasa (~/.config/verdaccio/config.yaml) kelihatan seperti:
# Install Verdaccio globally npm install --global verdaccio
verdaccio
Ini menggesa untuk nama pengguna, kata laluan dan e-mel. Setelah selesai, anda akan log masuk ke daftar peribadi anda.
Dalam direktori pakej dengan pakej yang sah.json:
storage: ./storage auth: htpasswd: file: ./htpasswd max_users: 100 uplinks: npmjs: url: https://registry.npmjs.org/ packages: '@*/*': access: $all publish: $authenticated proxy: npmjs '**': access: $all publish: $authenticated proxy: npmjs middlewares: audit: enabled: true logs: - { type: stdout, format: pretty, level: http }
Itu sahaja! Pakej anda kini diterbitkan ke pendaftaran Verdaccio tempatan anda.
Untuk memasang pakej daripada pendaftaran ini, anda boleh sama ada:
npm adduser --registry http://localhost:4873
npm publish --registry http://localhost:4873
Jika anda sudah mengehoskan kod anda di GitHub, menggunakan Pakej GitHub boleh menjadi cara yang mudah untuk menyimpan semuanya di bawah satu bumbung.
Buat Token Akses Peribadi (PAT) dengan skop read:packages dan write:packages. Anda boleh menjana token ini daripada tetapan GitHub anda di bawah Tetapan pembangun -> Token akses peribadi.
Tambahkan token anda pada .npmrc:
npm install <package-name> --registry http://localhost:4873
Ganti YOUR_GITHUB_USERNAME dengan nama pengguna sebenar anda atau nama organisasi GitHub.
Kemas kini package.json anda dengan skop yang sepadan dengan nama pengguna atau organisasi GitHub anda:
registry=http://localhost:4873
Kemudian terbitkan:
//npm.pkg.github.com/:_authToken=YOUR_PERSONAL_ACCESS_TOKEN @YOUR_GITHUB_USERNAME:registry=https://npm.pkg.github.com
Pastikan .npmrc menunjuk ke Pakej GitHub, kemudian:
{ "name": "@YOUR_GITHUB_USERNAME/my-private-package", "version": "1.0.0", "publishConfig": { "registry": "https://npm.pkg.github.com" } }
GitLab juga menyediakan pendaftaran pakej terbina dalam.
Buat atau kemas kini fail .npmrc tempatan/global anda dengan kelayakan GitLab anda:
npm publish
Kemas kini skop package.json anda agar sepadan dengan kumpulan GitLab atau ruang nama pengguna:
npm install @YOUR_GITHUB_USERNAME/my-private-package
Kemudian terbitkan:
# Install Verdaccio globally npm install --global verdaccio
verdaccio
Jika anda sedang mencari penyelesaian di premis yang teguh yang menyokong berbilang jenis repositori, Sonatype Nexus atau JFrog Artifactory mungkin pertaruhan terbaik anda.
Gunakan persediaan .npmrc yang serupa untuk menghalakan klien npm anda ke repositori npm Nexus baharu anda:
storage: ./storage auth: htpasswd: file: ./htpasswd max_users: 100 uplinks: npmjs: url: https://registry.npmjs.org/ packages: '@*/*': access: $all publish: $authenticated proxy: npmjs '**': access: $all publish: $authenticated proxy: npmjs middlewares: audit: enabled: true logs: - { type: stdout, format: pretty, level: http }
Terbitkan pakej anda seperti biasa:
npm adduser --registry http://localhost:4873
npm publish --registry http://localhost:4873
Terbitkan menggunakan:
npm install <package-name> --registry http://localhost:4873
Untuk organisasi besar yang memerlukan kawalan penuh, pengauditan dan keselamatan lanjutan, npm Enterprise ialah pilihan. Ia menyediakan:
Rujuk dokumentasi npm Enterprise untuk mendapatkan arahan persediaan.
Menyediakan repositori npm peribadi memberi anda kebebasan untuk mengurus dan mengehoskan pakej anda sendiri dengan selamat. Sama ada anda menggunakan penyelesaian yang dihoskan sendiri seperti Verdaccio, memanfaatkan penyelesaian terurus seperti Pakej GitHub atau Pakej GitLab, atau memilih penyelesaian perusahaan seperti Nexus, Artifactory atau npm Enterprise—asasnya tetap sama:
Pilih pendekatan yang paling sesuai dengan keperluan organisasi anda mengenai keselamatan, kebolehskalaan dan penyelenggaraan. Dengan contoh dan coretan kod di atas, anda harus mempunyai asas yang kukuh untuk mula mengehos pakej npm peribadi anda sendiri. Selamat mengekod!
Atas ialah kandungan terperinci Repositori npm peribadi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!