| filename - 前当文件名
|
dirname - 当前所在的目录
| setTimeout、clearTimeout - 定时器
| setInterval、clearInterval - 定时器
| console - 打印到控制台
| process - 进程
| exports、require() - 导入、导出
|

__dirname 当前的绝对路径

__filename 当前文件名

exports 暴露接口

require() 引入模板

1、模块分为

    模块加载:require('2.js');

    1)内置模块:  var fs = require('fs');        // 加载Node的内置模块 fs文件系统

    2)文件模块: 自己定义的业务模块

        定义一个food.common.js

        var food = reuqire('./js/food.common');        // 加载业务模块

    3)加载第三方模块

        require('./2');        // 先按照加载的模块文件进行查找,如果没有找到会在文件名加上.js


2、绝对和相对路径

    var fs = require('fs');        // 绝对路径,是在Node通过内部的node_modules查找到的模块

    var moduleA = reuqire('./lib/moduleA');        // 相对路径


2、npm 全局安装和局部安装

    1)全局安装会安装到Node目录中,各项目都可以使用 npm install -g gulp

    2)局部安装,将一个模块安装到node_modules中,只在当前和子目录中使用


require.cache
require.resolve()

global 全局对象

module

module和exports两个全局变量

1)module:每个模块下都包括module对象

    Module {
        id: '.',
        exports: {},
        parent: null,
        filename: '/Users/apple/siguang.liu/nodeProject/server.js',
        loaded: false,
        children: [],
        paths: [
            '/Users/apple/siguang.liu/nodeProject/node_modules',
            '/Users/apple/siguang.liu/node_modules',
            '/Users/apple/node_modules',
            '/Users/node_modules',
            '/node_modules'
        ]
     }

 2)exports外部接口,通过require就可以调用这个接口

     其实exports就是module.exports的引用

    exports.name = 'siguang';
    exports.getPrivate = function(){
        return 'haha';
    }

process 进程

console 打印到控制台

log()、info()、error()、warn()、time()、timeEnd()

setImmediate(callback[, …args])、clearImmediate(immediateObject)

setInterval()、clearInterval()

setTimeout()、clearTimeout()