首页 > 代码库 > node.js

node.js

1.node.js的顶层是global,javascript的顶层是window

2.模块加载机制

  路径:可以为相对路径,也可以为绝对路径

  require(./2.js‘);//相对路径

  注意:require(2.js‘);//写成这样会加载node中的核心模块,或者是node_modules

  加载时:先按照加载的模块的文件名进行加载,

      如果没有找到,则会在模块在文件名称后加上.js的后缀,进行查找,

      如果还没找到,则会在文件的名称加上.json的后缀

      如果还没找到,则会在文件的名称加上.node的后缀

  文件名称->.js->.json->.node->抛出错误

3.当我们用var 申明的一个变量不是全局的,而是属于当前模块下的。每个模块都有一个自己的作用域,外部不能够直接访问,如果要访问,可以通过以下方式

  1>把变量作为global对象的一个属性,但是这样做法是不推荐的。

  2>使用模块对象,module:保存提供和当前模块有关的一些信息 。它里面有一个子对象exports对象,通过这个对象把一个模块中局部变量对象进行访问。

  例:在2.js中定义变量a

    var s=10;

    module.exports.a=a;//与exports.a=a;效果一样

    在外部访问:require(‘./2.js‘);//这个方法的返回值,其实就是被加载模块中的module.exports

    注意:如果module.exports=[1,2,3];//module.exports与exports的指向关系已经断开了

4.global

  _filename:返回当前模块文件的解析后的绝对路径,该属性其实并非全局的,而是模块作用域下的。

     _birname:返回当前模块文件所在目录的解析后的文件夹绝对路径,该属性其实并非全局的,而是模块作用域下的。

5.buffer类:用于操作二进制数据流。

    想要求出字节长度可以用Buffer对象,要求字符个数直接用length.

 

node.js