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

CommonJs和NodeJs中自定义模块

  1. 什么是CommonJs

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

  2. NodeJs中的模块化

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

  • 在Node中,模块分为两类:

一类是 Node 提供的模块,称为核心模块;另一类是用户编写的模块,称为 文件模块。

核心模块部分在 Node 源代码的编译过程中,编译进了二进制执行文件。在 Node 进程启动时,部分核心模块就被直接加载进内存中,所以这部分核心模块引入时,文件定位和编译执行这两个步骤可以省略掉,并且在路径分析中优先判断,所以它的加载速度是最快的。如:HTTP模块、URL模块、Fs模块都是nodejs 内置的核心模块。可以直接引入使用。

文件模块则是在运行时动态加载,需要完整的路径分析、文件定位、编译执行过程、速度相比核心模块稍微慢一些,但是用的非常多。 这些模块需要我们自己定义。 接下来我下们看一下nodejs中的自定义模块。

  • CommonJS (Nodejs )中自定义模块的规定

我们可以把公共的功能 抽离成为一个单独的js文件 作为一个模块,默认情况下面这个模块里面的方法或者属性,外面是没法访问的。如果要让外部可以访问模块里面的方法或者属性,就必须在模块里面通过 exports 或module.exports 暴露属性或者方法。

在需要使用这些模块的文件中,通过 require 的方式引入这个模块。这个时候就可以使用模块里面暴露的属性和方法。

这里我做了一张图方便理解:

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

  • 定义使用模块

新建二个js

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

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

3.npm init生成package.json

npm init -yes

年底了很累,要低调过冬,思否明天见~

    原文作者:黛玉er
    原文地址: https://segmentfault.com/a/1190000017846069
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞