包 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 協議》,轉載必須註明作者和本文連結