模块
在nodejs中,一个js文件就是一个模块,文件路径名就是模块名。那么模块系统,有两个要素。引入其他模块,导出自己的模块。
1.语法规则如下
-
require:引入内置模块(http/fs)或者自己编写的js文件
//模块名,可以是相对路径or绝对路径。.js后缀可省略
var foo1 = require('./foo.js');
var json = require(‘./data.json’);//引入nodejs 内置模块,fs http等 var http = require('http');
-
exprots
//exprots对象是模块的导出对象,可导出公共方法或公共属性。
hello.js
exports.hello = function(){
hello
}hello = require('hello.js');// 实质上这里的hello === exports 对象 hello.hello();
module,可以访问到模块信息。最大的用途是,替换exports导出模块
//即
module === exports
function hello(){
}
module.exports = hello;//将exports对象换成一个函数
var hello = require('hello');
hello();
2.解析模块
- 模块初始化
一个模块中的JS代码仅在模块第一次被使用时执行一次,并在执行过程中初始化模块的导出对象。之后,缓存起来的导出对象被重复利用
*主模块
如何指定项目入口?在命令行里输入 node .js ,这个.js就是项目入口模块。