02小白學nodejs 包和npm

junwind發表於2021-05-25

包 package

建立一個目錄,將js模組檔案放進去,依賴放進去,在寫一個package.json檔案到根目錄下,這就是一個包;

commonjs的包結構規範:

package.json    必須得有,包的整體描述檔案
    name 包名
    description  描述
    version 版本
    keywords 關鍵字(搜尋)
    maintainers  主要開發者
    contributors  參與貢獻者
    bugs  bug提交方式
    license  版權
    repositories
    dependencies 依賴
    homepage  官網
    os 
    cpu
    engine
    builtin
    directories  目錄
    implements
    scripts
    author
    bin 
    main 
    devDependencies
bin/    可直接執行的二進位制指令碼檔案
lib/    依賴的庫
doc/    api說明文件等
test/   單元測試
index.js   入口檔案

npm (node package manager)

npm init  初始化一個package.json檔案
npm
npm -v
npm version
npm search package
npm install/i package
npm install/i package -g  全域性安裝的包一般是作為系統的工具使用 如打包,編譯
npm remove/r package
npm install package --save  安裝包並新增到自己專案的package.json的依賴中(常用)
npm install 檔案路徑                從本地安裝
npm install 包名 -registry=地址     從映象源安裝
npm config set registry 地址        設定映象源 
npm remove express --save  移除同時,也從依賴中移除
npm install -g cnpm --registry=https://registry.npm.taobao.org   使用淘寶的源
    cnpm的使用和npm一致

eg. 安裝一個math模組,並使用它

npm i install math --save 

var math = require('math');
console.log(math, math.add(12,34))

下載的包,預設位於專案根目錄的 /node_modules/下

專案上傳時,一般都不會上傳node_modules目錄,因為這個資料量很大,此時一般我們的package.json的依賴中有需要的模組,上傳到伺服器端後,直接執行 npm install 會自動下載所有的依賴;

npm下載的包,require()引入時,直接使用包名即可

require()引入包,查詢包路徑流程

node在使用模組名字來引入模組時,它會首先在當前目錄的 node_modules 中尋找是否含有該模組,
    如果有,則直接使用, 如果沒有則去上一級目錄的 node_modules 中尋找, 
    如有,則直接使用,如果沒有則再去上一級目錄尋找,直到找到為止,
    直到找到磁碟的根目錄,如果依然沒有,則報錯 
本作品採用《CC 協議》,轉載必須註明作者和本文連結
六月的風

相關文章