Node-包

2019-06-09  本文已影响0人  zhouhao_180

一、 Node.js 中 模块 和 包 的概念

Node.js 由三部分组成:ECMAScript 核心 + 全局成员 + 模块成员

模块成员:可以分为三大类: 核心模块第三方模块用户自定义模块

1、核心模块

1.1 什么是核心模块:

1.2、 如何使用核心模块:require('核心模块标识符')

2、第三方模块

2.1、什么是第三方模块:

2.2、如何使用第三方模块:

3、用户自定义模块

  1. 什么是用户模块:
    • 程序员在自己项目中写的 Javascript 文件,就叫做 用户自定义模块;
  2. 如何使用用户模块:require('路径标识符')

二、 包的定义和使用

1、什么是包

1.1、英文名叫做 Packages,包是在模块基础上更深一步的抽象;
1.2、包的目的:方便分发和推广基于 CommonJS 规范实现的 应用程序 或 类库;
1.3、包可以看作是 模块、代码 和 其它资源 组合起来形成的 独立作用域;

2、规范的包结构

2.1、包都要以一个单独的目录而存在;
2.2、package.json 必须在包的顶层目录下;
2.3、package.json 文件必须符合 JSON 格式,并且必须包含如下三个属性:name, version, main

2.4、二进制文件应该在bin目录下;
2.5、javaScript代码应该在lib目录下;
2.6、文档应该在doc目录下;
2.7、单元测试应该在test目录下;
2.8、Node.js对包要求并没有那么严格,只要顶层目录下有package.json,并符合基本规范即可;

3、包描述文件 package.json

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

三、自己尝试定义一个包含 加减乘除的 calc 计算器包

包-项目架构.png

1、package.json文件

{
    "name": "calc",
    "varsion": "0.0.1",
    "main": "./lib/main.js"
}

2、add.js文件

function add(x, y) {
    return x + y
}
// 导出add
module.exports = add

3、main.js文件

// 导入add模块
const add = require(__dirname + "/add.js");
// 导出相关方法
module.exports = {
    add
    //reduce 
    //mut
    //devide
}

4、调用calc模块

const calc = require(__dirname + "/calc");
var a = calc.add(1, 2);
console.log(a);

5、node_modules
新建node_modules文件夹,把刚刚的calc文件夹拖进这个文件夹里面,就可以直接引用calc模块了。

// const calc = require(__dirname + "/calc");
const calc = require("calc");
var a = calc.add(1, 2);
console.log(a);
上一篇下一篇

猜你喜欢

热点阅读