Node-js-StudyNotes-02
Contents
[TOC]
Node.js 学习笔记02
全局严格模式
|
|
模块系统
优先级
Node.js的require方法的文件查找策略如下:
由于Nodejs中存在4类模块(原生模块和3种文件模块),尽管
require方法极其简单, 但是内部的加载缺是十分复杂的,其加载优先级也各自不同.

可用参数
require方法接受以下几种参数的传递:
http、fs、path等,原生模块。./mod或../mod,相对路径的文件模块。/pathtomodule/mod,绝对路径的文件模块。mod,非原生模块的文件模块。
执行顺序
在路径Y下执行require(X)语句执行顺序:
|
|
路由
我们要为路由提供请求的URL和其他需要的GET及POST参数, 随后路由需要根据这些数据来执行相应的代码.
全局对象
在浏览器JavaScript中,通常window是全局对象
在Node.js中全局对象是global,所有全局变量都是global的对象属性(除了global自身)
全局对象与全局变量
global的最根本的作用是作为全局变量的宿主.按照ECMAScript的定义,满足下面条件的变量是全局变量:
- 在最外层定义的变量
- 全局对象的属性
- 隐式定义的变量(未定义直接赋值的变量)
当定义一个全局变量的时候,这个变量就会成为全局对象的一个属性,反之亦然.
注意:
在Node.js中不可能在最外层定义变量,因为所有用户代码都是属于当前模块的,而模块本身不是最外层上下文.
永远使用var定义变量以避免引入全局变量,因为全局变量会污染命名空间提高代码耦合性
文件系统
文件系统fs模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync()
异步的方法函数最后一个参数为回调函数,回调函数的第一个参数包含了错误信息error

