Rumah  >  Artikel  >  hujung hadapan web  >  Apakah yang dilakukan oleh modul dan pakej nodejs?

Apakah yang dilakukan oleh modul dan pakej nodejs?

WBOY
WBOYasal
2022-06-29 10:36:251518semak imbas

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.

Apakah yang dilakukan oleh modul dan pakej nodejs?

Persekitaran pengendalian artikel ini: sistem Windows 10, nodejs versi 12.19.0, komputer Dell G3.

Apakah yang dilakukan oleh modul dan pakej nodejs?

Bezakan antara pakej dan modul: Penggunaan pakej dan modul yang betul akan menjadikan program anda redundan rendah, sangat mudah dibaca dan berfungsi sepenuhnya.

1. Pakej dalam NodeJS

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:包依赖。

1.1 Jana fail package.json

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.

1.2 Operasi Pakej

Gunakan arahan npm install xxx untuk memasang pakej. Contohnya:

  • Pasang pakej:
npm install express
  • Kemas kini pakej:
npm update express
  • Padamkan pakej :
npm uninstall express

Cari pakej dalam komuniti npm dan pasangkannya melalui arahan npm install 模块名字. Nama setiap modul adalah unik di peringkat global.

2. Modul dalam NodeJS

2.1 Apakah itu modul

Kita perlu membandingkan JS dalam penyemak imbas dan Node.js JS :

  • Dalam JavaScript, kami biasanya membahagikan kod JavaScript kepada beberapa fail js, dan kemudian menggabungkan dan menjalankan fail js ini dalam penyemak imbas.
  • Dalam Node.js, semua fungsi dibahagikan kepada modul. Setiap modul ialah fail js, dan skop pembolehubah global dan fungsi yang ditakrifkan dalam setiap modul juga terhad kepada modul ini Hanya objek eksport boleh dihantar kepada kegunaan luaran.

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.

2.2 Penciptaan modul

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();

Apakah yang dilakukan oleh modul dan pakej nodejs?

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.

2.3 Membezakan antara modul.eksport dan eksport

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);

Apakah yang dilakukan oleh modul dan pakej nodejs?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Adakah nodejs berbilang benang?Artikel seterusnya:Adakah nodejs berbilang benang?