webpack模块化

模块化

模块化是一种思想,是一种把复杂系统分解为更好的可管理模块的方式。

  • 把具有一定独立功能的代码放到一个单独的文件中,每一个文件就是一个模块。

CommonJS

参考大佬公众号文章

CommonJS 主要运行于服务器端,该规范指出,一个单独的文件就是一个模块。Node.js为主要实践者,它有四个重要的环境变量为模块化的实现提供支持:module、exports、require、global。require 命令用于输入其他模块提供的功能,module.exports命令用于规范模块的对外接口,输出的是一个值的拷贝,输出之后就不能改变了,会缓存起来。

CommonJS规范加载模块是同步的,也就是说,只有加载完成,才能执行后面的操作


// 模块 a.js
const name = 'qiufeng'

module.exports = {
   
    name,
    github: 'https://github.com/hua1995116'
}

require(‘xxx’)得到的是module.exports对象,需要解构出里面的内容

// 模块 b.js
// 引用核心模块或者第三方包模块,不需要写完整路径
const path = require('path');
// 引用自定义模块可以省略.js
const {
    name, github } = require('./a');

console.log(name, github, path.basename(github));
// 输出 qiufeng https://github.com/hua1995116 hua1995116
  • CommonJS 采用同步加载模块,而加载的文件资源大多数在本地服务器,所以执行速度或时间没问题。但是在浏览器端,限于网络原因,如果用同步加载模块,在浏览器中会出现堵塞情况,所以不适用,更合理的方案是使用异步加载。
  • CommonJS 的规范中,每个 JavaScript 文件就是一个独立的模块上下文(module context),在这个上下文中默认创建的属性都是私有的。也就是说,在一个文件定义的变量(还包括函数和类),都是私有的,对其他文件是不可见的。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值