在node中,一个js文件就是一个模板;
 在node中,每一个js文件中的js代码都是独立运行在一个函数中的;

创建一个新的js文件

a = 10;
console.log("我是另一个文件");
exports.x = "我是x";
exports.y = function(a,b){
	return a+b;
}
//文件相对路径名:nodedata.js

使用require引入模块

var A = require('./nodedata.js');

//使用require引入模块后这个函数会返回一个对象,代表引入的模块,使用相对路径引入需要在文件名前加入:./或者../

为了证明模块是包在函数里的,可以用arguments证明(接收函数里实参的伪数组)可以打印

console.log(arguments);

arguments.callee可以表示正在执行的函数的引用;就是这个函数,可以传递参数,降低代码的耦合性
引入模块时,使用的就是模块标识,我们可以通过模块标识来找到引入的模块
  模块分为两大类
        核心模块
            -由node引擎提供的模块
            -核心的模块标识就是模块的名字
        文件模块
            -由用户自己创建的模块
            -文件模块的标识就是文件的路径(绝对路径,相对路径)
              相对路径使用./或../开头;

node中有一个全局变量global.它的作用和网页中的window类似
    在全局中创建的变量都会作为global的属性保存
    在全剧终创建的函数都会作为global的方法保存
    当Node在执行模块中的代码时他会首先在代码的最顶部,添加如下代码
    function(exports,require,module,_filename,dir_name){
    在代码的最底部添加 },所以我们在此中间顶一个变量不是全局变量

模块中的代码都是包装在一个函数中执行的,并在在函数执行时同时传递了五个实参; 
    exports
         -该对象用来将变量和函数暴露到外部
    require
         -函数,用来引入外部模块
    module(模块)
         - 代表当前模块本身
         -exports就是module的属性
    _filename
         - 当前模块的一个完整路径
    _dirname
         - 当前模块所在的文件夹的路径