Node.js 包是遵循 CommonJS 規範的目錄結構,核心包含 package.json(元數據)、入口模塊(默認 index.js)和其他模塊文件。本文通過實例解析包的標準結構與加載機制。
m_p/ # 包根目錄
├── package.json # 包描述文件(必須)
├── index.js # 入口模塊(默認)
└── lib/ # 其他模塊目錄
└── utils.js
{
"name": "m_p",
"version": "1.0.0",
"description": "示例包",
"main": "index.js", // 入口文件,require('m_p') 實際加載此文件
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": ["demo"],
"author": "developer",
"license": "MIT"
}
關鍵字段:name/version 唯一標識包;main 指定入口;dependencies/devDependencies 聲明依賴。
// index.js - 包的公共 API 入口
var utils = require('./lib/utils');
module.exports = {
hello: function() {
console.log('Hello from package!');
},
utils: utils
};
require('m_p') 解析到包目錄package.json 獲取 main 字段(默認 index.js)module.exportsvar myPackage = require('./m_p'); // 相對路徑引用本地包
myPackage.hello(); // 輸出: Hello from package!
name 全局唯一README.md.npmignore 排除非必要文件理解包結構是 Node.js 模組化開發的基礎。規範的 package.json 和清晰的入口設計,讓包易於維護、分發和復用。