• 包的定义
  1. 英文名叫做 Packages,包是在模块基础上更深一步的抽象,目的是:方便分发推广基于 CommonJS 规范实现的 应用程序 或 类库;
  2. 包可以看作是 模块、代码 和 其它资源 组合起来形成的 独立作用域;
  • 包的基本规范
  1. 包都要以一个单独的目录而存在;
  2. package.json 必须在包的顶层目录下;
  3. package.json 文件必须符合 JSON 格式,并且必须包含如下三个属性:name, version, main
{
  "name": "webTemplate",// 包的名字
  "version": "1.0.0",//包的版本号
  "main": "./lib/index.js"//包的入口文件
}
  • 二进制文件应该在bin目录下;
  • javaScript代码应该在lib目录下;
  • 文档应该在doc目录下;
  • 单元测试应该在test目录下;
  • Node.js对包要求并没有那么严格,只要顶层目录下有package.json,并符合基本规范即可;

node中包的定义与包的基本规范

  • 包描述文件 package.json
    name:包的名称,必须是唯一
    description:包的简要说明
    version:符合语义化版本识别规范的版本字符串
    keywords:关键字数据,通常用于搜索
    maintainers:维护者数组,每个元素要包含name、email、web可选字段
    contributors:贡献者数组,格式与maintainers相同。包的坐着应该是贡献者数据的第一个元素
    bugs:提交bug的地址,可以是网址或者电子邮件地址
    licenses:许可证数组,每个元素要包含type和url字段
    repositories:仓库托管地址数组,每个元素要包含type、url和path字段
    dependencies:包的依赖,一个关联数组,由包名称和版本号组成。
    devDependencies:开发依赖项,表示一个包在开发期间用到的依赖项

  • 包的导入规则

  1. 当我们导入一个包的时候,会先在 包的根目录中,查找一个叫做 package.json 的文件
  2. 如果有 package.json 文件,则会继续查找这个文件中的,一个叫做 main 的属性
  3. 如果能找到 main 属性,则尝试加载 main 属性所指向的那个文件
  4. 如果这个文件加载成功,则这个包,就已经被正常 require 进来了,就可以正常使用了

相关文章:

  • 2021-10-26
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-11
  • 2021-11-25
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-06
  • 2021-10-16
  • 2022-12-23
  • 2022-12-23
  • 2021-10-18
相关资源
相似解决方案