Direktori Projek
Setelah memahami pengetahuan di atas, kini kami boleh merancang sepenuhnya direktori projek. Ambil menulis program baris arahan sebagai contoh Secara amnya, kami akan menyediakan kedua-dua mod baris arahan dan mod API, dan kami akan menggunakan pakej pihak ketiga untuk menulis kod. Selain kod, program yang lengkap juga harus mempunyai dokumentasi dan kes ujiannya sendiri. Oleh itu, direktori projek standard kelihatan seperti berikut.
- /home/user/workspace/node-echo/ # 工程目录 - bin/ # 存放命令行相关代码 node-echo + doc/ # 存放文档 - lib/ # 存放API相关代码 echo.js - node_modules/ # 存放三方包 + argv/ + tests/ # 存放测试用例 package.json # 元数据文件 README.md # 说明文件
Kandungan beberapa fail adalah seperti berikut:
/* bin/node-echo */ var argv = require('argv'), echo = require('../lib/echo'); console.log(echo(argv.join(' '))); /* lib/echo.js */ module.exports = function (message) { return message; }; /* package.json */ { "name": "node-echo", "main": "./lib/echo.js" }
Dalam contoh di atas, jenis fail yang berbeza disimpan dalam kategori dan modul dimuatkan terus menggunakan nama pakej pihak ketiga melalui direktori node_moudles. Selain itu, selepas mentakrifkan package.json, direktori nod-echo juga boleh digunakan sebagai pakej.
NPM
NPM ialah alat pengurusan pakej yang dipasang bersama-sama dengan NodeJS Ia boleh menyelesaikan banyak masalah dalam senario penggunaan biasa termasuk yang berikut:
Seperti yang anda lihat, NPM telah menubuhkan ekosistem NodeJS, di mana pembangun dan pengguna NodeJS boleh berkomunikasi antara satu sama lain. Berikut menerangkan cara menggunakan NPM dalam tiga senario ini.
Muat turun pakej pihak ketiga
Apabila anda perlu menggunakan pakej pihak ketiga, anda mesti terlebih dahulu mengetahui pakej yang tersedia. Walaupun npmjs.org menyediakan kotak carian untuk mencari berdasarkan nama pakej, jika anda tidak pasti tentang nama pakej pihak ketiga yang anda ingin gunakan, sila tanya Baidu. Selepas mengetahui nama pakej, seperti argv dalam contoh di atas, anda boleh membuka terminal dalam direktori projek dan menggunakan arahan berikut untuk memuat turun pakej pihak ketiga.
$ npm install argv ... argv@0.0.2 node_modules\argv
Selepas memuat turun, pakej argv diletakkan dalam direktori node_modules di bawah direktori projek, jadi anda hanya perlu memerlukan('argv') dalam kod tanpa menyatakan laluan pakej pihak ketiga.
Perintah di atas memuat turun versi terkini pakej pihak ketiga secara lalai Jika anda ingin memuat turun versi tertentu, anda boleh menambah @
$ npm install argv@0.0.1 ... argv@0.0.1 node_modules\argv
Jika anda menggunakan banyak pakej pihak ketiga, ia akan menjadi terlalu rumit untuk memasang setiap pakej dengan satu arahan dalam terminal. Oleh itu, NPM telah memperluaskan medan package.json untuk membenarkan kebergantungan pakej pihak ketiga diisytiharkan di dalamnya. Oleh itu, package.json dalam contoh di atas boleh ditulis semula seperti berikut:
{ "name": "node-echo", "main": "./lib/echo.js", "dependencies": { "argv": "0.0.2" } }
Selepas memproses dengan cara ini, anda boleh menggunakan arahan pemasangan npm untuk memasang secara berkumpulan pakej pihak ketiga dalam direktori projek. Lebih penting lagi, apabila nod-echo turut dimuat naik ke pelayan NPM pada masa hadapan dan yang lain memuat turun pakej ini, NPM akan memuat turun secara automatik pakej pihak ketiga bergantung berdasarkan kebergantungan pakej pihak ketiga yang diisytiharkan dalam pakej. Contohnya, apabila menggunakan perintah npm install node-echo, NPM secara automatik mencipta struktur direktori berikut.
- project/ - node_modules/ - node-echo/ - node_modules/ + argv/ ... ...
Dengan cara ini, pengguna hanya perlu mengambil berat tentang pakej pihak ketiga yang mereka gunakan secara langsung dan tidak perlu menyelesaikan kebergantungan semua pakej itu sendiri.
Pasang program baris arahan
Kaedah memuat turun dan memasang program baris arahan daripada perkhidmatan NPM adalah serupa dengan pakej pihak ketiga. Sebagai contoh, node-echo dalam contoh di atas menyediakan kaedah penggunaan baris arahan Selagi node-echo telah mengkonfigurasi medan package.json yang berkaitan, pengguna hanya perlu menggunakan arahan berikut untuk memasang program.
$ npm install node-echo -g
Parameter -g menunjukkan pemasangan global, jadi nod-echo akan dipasang ke lokasi berikut secara lalai, dan NPM akan secara automatik mencipta fail pautan lembut yang diperlukan di bawah sistem Linux atau fail .cmd yang diperlukan di bawah sistem Windows.
- /usr/local/ # Linux系统下 - lib/node_modules/ + node-echo/ ... - bin/ node-echo ... ... - %APPDATA%\npm\ # Windows系统下 - node_modules\ + node-echo\ ... node-echo.cmd ...
Kod pos
Anda perlu mendaftar akaun sebelum menggunakan NPM untuk menerbitkan kod buat kali pertama. Jalankan npm adduser dalam terminal, dan kemudian ikut gesaan. Selepas akaun disediakan, kami kemudiannya perlu mengedit fail package.json dan menambah medan yang diperlukan untuk NPM. Mengikuti contoh nod-echo di atas, medan yang diperlukan dalam package.json adalah seperti berikut.
{ "name": "node-echo", # 包名,在NPM服务器上须要保持唯一 "version": "1.0.0", # 当前版本号 "dependencies": { # 三方包依赖,需要指定包名和版本号 "argv": "0.0.2" }, "main": "./lib/echo.js", # 入口模块位置 "bin" : { "node-echo": "./bin/node-echo" # 命令行程序名和主模块位置 } }
Après cela, nous pouvons exécuter npm submit dans le répertoire où se trouve package.json pour publier le code.
Numéro de version
Lorsque vous utilisez NPM pour télécharger et publier du code, vous entrerez en contact avec le numéro de version. NPM utilise des numéros de version sémantiques pour gérer le code. Voici une brève introduction.
Le numéro de version sémantique est divisé en trois chiffres : X.Y.Z, qui représentent respectivement le numéro de version majeure, le numéro de version mineure et le numéro de version du correctif. Lorsque le code change, le numéro de version est mis à jour selon les principes suivants.
+ Si vous corrigez simplement le bug, vous devez mettre à jour le bit Z.
+ Si une nouvelle fonction est ajoutée, mais qu'elle est rétrocompatible, le bit Y doit être mis à jour.
+ S'il y a des changements majeurs, il n'est pas rétrocompatible et X bit doit être mis à jour.
Une fois que le numéro de version a cette garantie, lors de la déclaration de dépendances de packages tiers, en plus de s'appuyer sur un numéro de version fixe, il peut également s'appuyer sur une certaine plage de numéros de version. Par exemple, « argv » : « 0.0.x » signifie que cela dépend de la dernière version d'argv de la série 0.0.x. Pour toutes les méthodes de spécification de plage de numéros de version prises en charge par NPM, veuillez consulter la documentation officielle.
Soyez intelligent
En plus des parties présentées dans ce chapitre, NPM fournit également de nombreuses fonctions, et il existe de nombreux autres champs utiles dans package.json. En plus de consulter la documentation officielle sur npmjs.org/doc/, voici quelques commandes NPM courantes.
NPM fournit de nombreuses commandes, telles que l'installation et la publication. Utilisez l'aide de npm pour afficher toutes les commandes.