前端模块化

模块化

1AMD和CMD适用于浏览器端的JavaScript模块化
2.CommonJS适用于服务器端的JavaScript模块化
3.大一统的ES6模块化诞生

commonjs

commonjs.js

const name = "xxx"
const age = 18;
const sex = "boy"

// commonjs中使用exports与modules.exports进行导出
// 使用require导入导出属性或方法的文件名
// 导出的格式是对象的形势
module.exports = {
        name,
        age
    }
    //如果单个暴露与整体暴露同时使用,单个暴露会失效,以整体暴露为准。
    // 底层原理是exports是module.exports的对象的一个引用。
    // 但是在代码执行完成后暴露出去的是module.exports
    // 相当于一开始就执了const exports=module.exports{} 
    //然后结尾处返回return module.exports
    //但是只有函数才能够有return 所以commonjs相当于是一个()()函数,
    //这个函数是node.js执行的。
exports.sex = sex;

在这里插入图片描述
commonjs02.js

const { name, age } = require('./commonJs');
const all = require('./commonJs');
console.log(all);
console.log(name, age);

在这里插入图片描述
在使用解构赋值时,这里里面的名称来源于要引入文件内部的名字

// 如果不加./会报招不到模块错误
const { fun } = require('./commonjs模块化开发')
console.log(fun());
// console.log(req.fun());

任何js文件都有一个隐秘的构造函数,下图中的function,变量或者函数不导出,不能够被外界所使用请添加图片描述
在这里插入图片描述

在这里插入图片描述

ES6模块化

在这里插入图片描述

导出
默认导出
export default 默认导出成员
按需导出
export  let 变量名

导入
默认导入
import 接收名称 from ‘模块标识符’
按需导入
import {导出变量的名称} from ‘模块标识符’
导入的名称是导出的名称

在这里插入图片描述默认导出

在这里插入图片描述默认导入
在这里插入图片描述按需导出
在这里插入图片描述按需导入

在这里插入图片描述注意

在这里插入图片描述直接导入不接收,执行代码
在这里插入图片描述

//直接执行代码,不需要导出,导入自动执行
import ‘需要自动执行的代码,没有导出’
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值