Node.js模块化开发
Node是什么?
Node是一个基于ChromeV8引擎的JavaScript代码运行环境。
Node运行环境搭建
在Node官网进行安装,选择LTS版本(长期支持版) 稳定版进行安装
查看当前Node的安装版本: node-v
执行文件:node 文件名
Node.js中模块化开发的规范
- Node.js规定一个Javascript文件就是一个模块,模块内部定义的变量和函数默认情况下在外部无法得到。
- 模块内部可以使用exports对象进行成员导出,使用require方法导入
模块成员导出:
//在a.js文件中导出 //声明变量 let a = 12 //声明方法 let add = (n1,n2)=>n1+n2 //把add方法当作exports的属性导出,第一个add是exports的属性名,第二个add是方法add exports.add=add
模块成员导入:
//b.js //在b.js中导入a模块。require方法有个返回值,这个返回值是a模块的exports对象 let a = require(‘./a.js’) //在b.js中使用a模块的方法 reasult =a.add(1,2)
- 模块成员导出的另一种方式 :module.exports
module.exports.version = version;
module.require.sayHi = sayHi;
模块成员导出:
//c.js const greeting = name=>`hello ${name}` //module.exports是一个对象,将greeting作为module.exports的属性导出 module.exports.greeting = greeting
模块成员导入:
//d.js const n = require('./c.js') console.log(a.greeting('zhangsan'));
模块导出两种方式的联系与区别
exports是module.exports的别名(地址引用关系),当exports对象和module.exports对象指向的不是同一个对象时,导出对象最终以module.exports为准,exports导出就不生效了。