NodeJs学习(二)CommonJs和NodeJs中自定义模块

CommonJs和NodeJs中自定义模块

  1. 什么是CommonJs

    教程里巴拉巴拉说了一堆,个人理解就是 CommonJs 就是模块化的标准,NodeJs 就是CommonJs(模块化)的实现。用 CommonJS API 编写出的应用,不只能够利用JavaScript 开发客户端应用,并且还能够编写如下应用:
    a.服务器端JavaScript应用程序(nodejs)
    b.命令行工具
    c.桌面图形界面应用程序node

  2. NodeJs中的模块化

Node应用是模块组成的,采用CommonJs模块规范。npm

  • 在Node中,模块分为两类:
一类是 Node 提供的模块,称为核心模块;另外一类是用户编写的模块,称为 文件模块。
核心模块部分在 Node 源代码的编译过程当中,编译进了二进制执行文件。在 Node 进程启动时,部分核心模块就被直接加载进内存中,因此这部分核心模块引入时,文件定位和编译执行这两个步骤能够省略掉,而且在路径分析中优先判断,因此它的加载速度是最快的。如:HTTP模块、URL模块、Fs模块都是nodejs 内置的核心模块。能够直接引入使用。
文件模块则是在运行时动态加载,须要完整的路径分析、文件定位、编译执行过程、速度相比核心模块稍微慢一些,可是用的很是多。 这些模块须要咱们本身定义。 接下来我下们看一下nodejs中的自定义模块。
  • CommonJS (Nodejs )中自定义模块的规定
咱们能够把公共的功能 抽离成为一个单独的js文件 做为一个模块,默认状况下面这个模块里面的方法或者属性,外面是无法访问的。若是要让外部能够访问模块里面的方法或者属性,就必须在模块里面经过 exports 或module.exports 暴露属性或者方法。
在须要使用这些模块的文件中,经过 require 的方式引入这个模块。这个时候就可使用模块里面暴露的属性和方法。
这里我作了一张图方便理解:

clipboard.png

  • 定义使用模块

新建二个jsjson

clipboard.png

clipboard.png

3.npm init生成package.json服务器

npm init -yes

年末了很累,要低调过冬,思否明天见~模块化

相关文章
相关标签/搜索