/*
* 模块化:
* commonjs规范的提出,主要是为了弥补当前JavaScript没有标准的缺陷
* commonjs对模块的定义十分简单:一个js文件就是一个模块,每个js文件中的js代码独立运行在一个函数中,不是全局作用域
* 所以一个模块中的变量和函数在其他模块中无法访问
* 1.模块引用
* 2.模块定义
* 3.模块标识
* 在node中,通过require()函数来引入外部模块
* require中可以传递一个文件的路径作为参数,node将会自动根据该路径来引入外部模块
* 这里的路径,如果使用相对路径,必须以.或..开头
* 使用require()引入模块以后,该函数会返回一个对象,这个对象代表引入的模块
* 我们使用require()引入外部模块时,使用的就是模块标识,我们可以通过模块标识来找到指定的模块
* 模块分为两大类
* 核心模块
* 由node引擎提供的模块
* 核心模块的标识就是模块的名字 例如fs
* var fs = required("fs");
* 文件模块
* 由用户自己创建的模块
* 文件模块的标识就是文件的路径(绝对路径或者相对路径)
* 相对路径使用.或..开头
* */
var md = require("./01.helloNode.js");
console.log(md.x);
var math = require("./math");
console.log(math.add(123, 456));
另创建一个js文件存放要导出的变量
console.log("hello.node");
/*
* 可以通过exports 来向外部暴露变量和方法
* 只需要将需要暴露给外部的变量或方法设置为exports的属性即可
* */
//向外部暴露属性或方法
exports.x = "ssssss";
exports.fn=function (){
}
/*
* 定义一个模块math
* 在该模块中提供两个方法
* add(a,b) 求两个数的和
* nul(a,b) 求两个数的乘积
* */
exports .add=function (a,b){
return a+b;
};
exports.mul = function (a,b){
return a*b;
}