Rumah > Artikel > hujung hadapan web > Apakah yang dilakukan oleh modul dan pakej nodejs?
Dalam nodejs, modul ialah fail js yang digunakan untuk menggunakan beberapa fungsi tertentu Dengan membahagikan semua fungsi ke dalam modul, skop pembolehubah global dan fungsi yang ditakrifkan dalam setiap modul juga terhad kepada Dalam modul ini digunakan untuk mengurus modul dan kebergantungannya, dan boleh merangkum berbilang modul.
Persekitaran pengendalian artikel ini: sistem Windows 10, nodejs versi 12.19.0, komputer Dell G3.
Bezakan antara pakej dan modul: Penggunaan pakej dan modul yang betul akan menjadikan program anda redundan rendah, sangat mudah dibaca dan berfungsi sepenuhnya.
Pakej digunakan untuk mengurus berbilang modul dan kebergantungan modul tersebut boleh dirangkumkan Direktori akar pakej tersebut. fail json.
Fail package.json yang mematuhi spesifikasi CommonJS biasanya mengandungi medan berikut:
name:包名。包名是唯一的,只能包含小写字母、数字和下划线。 version:包版本号。 description:包说明。 keywords:关键字数组,用于搜索。 homepage:项目主页。 bugs:提交 bug 的地址。 license:许可证。 maintainers:维护者数组。 contributors:贡献者数组。 repositories:项目仓库托管地址数组。 dependencies:包依赖。
Fail package.json boleh diedit secara manual dengan sendiri, atau melalui perintah npm init
untuk menjana.
Masukkan arahan npm init dalam terminal untuk menjana pakej yang mengandungi fail package.json. Masukkan terus npm init --yes
untuk melangkau menjawab soalan dan jana terus fail package.json dengan nilai lalai.
Gunakan arahan npm install xxx untuk memasang pakej. Contohnya:
npm install express
npm update express
npm uninstall express
Cari pakej dalam komuniti npm dan pasangkannya melalui arahan npm install 模块名字
. Nama setiap modul adalah unik di peringkat global.
Kita perlu membandingkan JS dalam penyemak imbas dan Node.js JS :
Node.js secara rasmi menyediakan banyak modul, setiap satunya melaksanakan fungsi, seperti modul fs untuk mengendalikan fail dan sistem fail, modul http untuk membina perkhidmatan http dan laluan modul untuk pemprosesan laluan fail.
Kami mencipta modul dan mengeksportnya menggunakan module.exports.
fail myModule.js
function foo() { console.log("hello syl");}module.exports.foo = foo;
fail index.js
var hello = require("./myModule.js");hello.foo();
Nota: Modul teras ditakrifkan dalam direktori lib/ kod sumber Node.js. require() akan sentiasa memuatkan modul teras terlebih dahulu.
Contohnya: require('http') sentiasa mengembalikan modul HTTP terbina dalam, walaupun terdapat fail dengan nama yang sama.
Node.js menyediakan pembolehubah untuk memudahkan operasi anda: eksport adalah sama dengan modul.eksport.
Kesan kedua-dua baris kod ini adalah sama:
module.exports.foo = foo;exports.foo = foo;
Kes penjelasan:
// module.jsconsole.log('module', module)console.log('module.exports', module.exports)console.log('exports', exports)console.log(module.exports === exports);console.log("=========================================");exports = { a: 3, };console.log(exports);console.log(module.exports);console.log(exports === module.exports);
require() gets module . exports ialah nilai yang dieksport Untuk mengeksport berbilang ahli , anda boleh menggunakan module.exports dan exports Untuk mengeksport seorang ahli , anda hanya boleh menggunakan module.exports.
Pembelajaran yang disyorkan: "tutorial video nodejs"
Atas ialah kandungan terperinci Apakah yang dilakukan oleh modul dan pakej nodejs?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!