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导出就不生效了。

  

posted @ 2021-11-11 13:36  codejing  阅读(89)  评论(0编辑  收藏  举报