模块化


有了模块化后,前端就可以开发大型应用了。模块化解决了js中的全局变量污染等问题。与浏览器环境中不一样,nodejs中js文件不是通过html页面来进行调用,而是通过commonjs来进行相互的调用。

下载nodejs

官网地址:https://nodejs.org/zh-cn/

判断是否安装

  • 在终端输入node,显示版本就说明安装好了

nodejs怎么实现commonjs

  • 为了保证高效的执行,nodejs只有执行到require函数是才会加载并执行模块
  • 为了隐藏模块的代码,nodejs执行时会将模块中的代码放到一个相当于立即执行函数中,保证不会污染全局变量,然后返回一个对象。
(function(module){
	module.exports = {};
	var exports = module.exports;
	//我们自己写的代码
	return module.exports;
})()	
  • 为了避免反复加载模块,nodejs默认开启了模块缓存,如果加载的模块之前已经加载就会使用之前导出的结果

CommonJs怎么实现模块的导出和导入

  • 导出
    • 理解上面nodejs实现Commonjs原理,导出只需要将我们要导出的东西加入到其返回的对象中即可。
//第一种方式
module.exports = {
	//要导出的东西
}
//第二种方式
module.exports.xxx = xxx;
//第三种方式
exports.xxx = xxx;
  • 导入
    • 将要导入的东西的文件的相对路径作为require函数的参数,require函数返回值就是我们导出的对象(或者导出的函数什么的),通过调用对象中的属性就可以使用了。
//用一个变量来接受require函数的返回值
const xxx = require("./xxx.js");

ES6模块化

// 导出
export function app(){}
// 导入
import { app } from '文件路径'
// 默认导出
export default function app(){}
// 导入
import app from '文件路径'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值