模块(module)是Node.js应用程序的基本组成部分,文件和模块是一一对应的。
上一节用到的 var http=require('http'); 其中http就是Node.js的一个核心模块。
一些核心模块:
创建模块
//module.js
var name;
export.setName=function(thyName){
name=thyName;
};
exports.sayHello=function(){
console.log('Hello' + name);
};
使用exports对象:
一个模块文件中定义的本地变量、函数或者对象只在该模块内有效时,需要从外部引用时,使用exports对象。
//getmodule.js
var myModule=require('./module');
myModule.setName('carrot');
myModule.sayHello();
1.路径分析
2.文件定位
3.编译执行 模块又分为核心模块和用户自己定义的模块(称为文件模块),核心模块直接被编译进了二进制执行文件,速度最快。
模块路径的生成规则: 当前文件下的node_module目录,父目录下的node_module目录,父目录下的父目录下的node_module目录。
Node还会按照.js .json .node
的次序补足扩展名
小诀窍是,如果是json和node文件 加上扩展名会更快。
包是在模块基础上更深一步的抽象,相似于c++中的函数库。
我们可以使用npm包管理工具,
安装: npm 【install】 【package_name】
比如安装express模块:
npm install express
安装完会放置在当前目录的node_module目录下