美文网首页
学会node.js(三)

学会node.js(三)

作者: 郑伟的菜园子 | 来源:发表于2016-01-07 01:13 被阅读19次

common.js规范

nodejs由许多模块组成,每个模块就是一个文件,node模块采用了commonjs规范。
根据commonjs规范,一个单独的文件就是一个模块,每一个模块都是单独的作用域也就是说,在一个文件定义的变量,都是private的,对其他文件是不可见的。

var x = 5;
var add = function(value){return value + x;}

上面代码中,变量x和函数add,是当前文件private的,其他文件不可见。
如果想在多个文件中分享变量,必须定义为global的属性。

global.a = a;

上面的a变量,可以被所有的文件读取,当然,这样的写法是不推荐的。
commonjs规定,每个文件的对外接口是module.exports对象,这个对象的所有属性和方法,都可以被其他文件导入。

module对象

每一个模块内部,都有一个module对象,代表当前模块,它有以下属性:

  • module.id 模块的识别符 通常是带有绝对路径的模块文件名
  • module.filename 模块的文件名, 值为此模块的绝对路径
  • module.loaded 返回一个布尔值,表示本模块是否已经加载完成
  • module.parent 返回一个对象,表示调用该模块的模块
  • module.children 返回一个数组,代表该模块要用到的其他模块
666.png

模块的加载规则

aa.jpg

查找文件的规则

aa.jpg

如何判断模块是直接被执行还是被调用?

if(require.main === module){
    console.log("直接执行")
}else{
    console.log("调用执行");
}

相关文章

  • 学会node.js(三)

    common.js规范 nodejs由许多模块组成,每个模块就是一个文件,node模块采用了commonjs规范。...

  • Node学习路径

    七天学会 NodeJS || site 1 ++ site 2 Node.js 实战心得 Node书籍 ...

  • 前端必须学会的5个原生JavaScript对象方法

    前端必须学会的5个原生JavaScript对象方法 JavaScript 随着node.js和基于JavaScri...

  • 学会node.js(一)

    如何安装? 点这里 + 下一步 现在让我们开始第一个node程序吧,打开vim或者sublime: 将文件保存为m...

  • 学会node.js(二)

    模块概述 node.js采用模块化结构,按照commonjs规范定义和使用模块,模块和文件是一一对应的,即加载一个...

  • 学会node.js(四)

    node.js全局对象 需要注意的是,有一些变量,看起来是全局的,其实是每个模块内部的变量像: 进程对象 proc...

  • 2018-08-30

    nodejs 学习第一天,学会在浏览器输出js。// node.js学习 var http = require('...

  • 2021-04-07each和foreach

    深入浅出 Node.js(三):深入 Node.js 的模块机制 https://www.infoq.cn/art...

  • node操作MongoDB(数据库)

    Mongoose第三方包: 使用Node.js操作MongoDB数据库需要依赖Node.js第三方包mongoos...

  • Node-包

    一、 Node.js 中 模块 和 包 的概念 Node.js 由三部分组成:ECMAScript 核心 + 全局...

网友评论

      本文标题:学会node.js(三)

      本文链接:https://www.haomeiwen.com/subject/ysrfkttx.html