目录标题

  • 简介
  • CommonJS规范
  • ES6模块化规范

简介

随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂。

Javascript模块化编程,已经成为一个迫切的需求。理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块。

但是,Javascript不是一种模块化编程语言,它不支持"类"(class)(package)等概念,也不支持"模块"(module)。

CommonJS规范

每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。

1、创建“module”文件夹
2、创建 mokuai-common-js/四则运算.js

// 定义成员:
const sum = function(a,b){ return a + b }
const subtract = function(a,b){ return a - b }
const multiply = function(a,b){ return a * b }
const divide = function(a,b){ return a / b }

3、导出模块中的成员

// 导出成员:
module.exports = { sum: sum, subtract: subtract, multiply: multiply, divide: divide }

4、创建 mokuai-common-js/引入模块.js

//引入模块,注意:当前路径必须写 ./
const m = require('./四则运算.js')
console.log(m)
const r1 = m.sum(1,2)
const r2 = m.subtract(1,2)
console.log(r1,r2)

CommonJS使用 exports 和require 来导出、导入模块。

ES6模块化规范

1、创建 mokuai-es6 文件夹
2、创建 src/userApi.js 文件,导出模块

export function getList() { console.log('获取数据列表')
}export function save() { console.log('保存数据')
}

3、创建 src/userComponent.js文件,导入模块

//只取需要的方法即可,多个方法用逗号分隔
import { getList, save } from './userApi.js'
getList()
save()

因为ES6的模块化无法在Node.js中执行,需要用Babel编辑成ES5后再执行。

第二种写法

import user from "./userApi2.js"
user.getList()
user.save()

ES6使用 export 和 import 来导出、导入模块。

JS模块化(CommomJS规范和ES6规范)相关推荐

  1. 前端模块化(CommenJS规范、ES6规范)

    目录 1. 简介 2. CommonJS规范 3. ES6模块化规范 写法一 写法二(推荐) 1. 简介 随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来 ...

  2. JS 模块化: CommonJS 与 ESM(ECMAScript Module) 的引用机制比较 循环依赖解决方式

    JS 模块化: CommonJS 与 ESM(ECMAScript Module) 的引用机制比较 & 循环依赖解决方式 文章目录 JS 模块化: CommonJS 与 ESM(ECMAScr ...

  3. Js模块化规范(commonJs、Es6模块化)

    一.Js模块化 常见的模块化规范: 1.CommonJS--nodeJS模块化规范 规定: 每一个文件就是一个模块,拥有自己独立的作用域,变量,以及方法等(采用同步加载方式),对其他的模块都不可见. ...

  4. 基于前端Js模块化规范的粗浅应用

    前言 之前做项目时,由于刚起步,所以很多同事在Js的规范上写的很凌乱.又刚好自己在慕课网上接触了Js模块化的概念,顿时觉得怎么会有这么规范的写法.所以特别写篇博客,记录下. Js架构如下 整个JS架构 ...

  5. 浅谈js模块化:commons、AMD、CMD、ES6几种模块化的用法及各自的特点

    文章目录 一个页面需要引入多个js文件引发的问题: 模块化的好处: 几种常用的模块化规范 1. commonJs 2. AMD 3. ES6 4.CMD 总结 js模块化是现在比较流行的一种用法,它能 ...

  6. JS模块化(node.js模块化和es6模块化)

    JS 模块化 模块化概念 模块化是指解决一个复杂问题时,自顶向下逐层把系统划分为若干模块的过程,模块是可组合.分解和更换的单元. 模块化可提高代码的复用性和可维护性,实现按需加载. 模块化规范是对代码 ...

  7. 浏览器端已支持 ES6 规范(包括 export import)

    当然,是几个比较优秀的浏览器,既然是优秀的浏览器,大家肯定知道是那几款啦,我就不列举了,我用的是 chrome. 对 script 声明 type 为 module 后就可以享受 es6 规范所带来的 ...

  8. ES6规范前后块级作用域与函数声明的缠缠绵绵

    今天我们就以上面的这个例子来说一下,块级作用域与函数声明在ES6前后的纠葛,当然在ES6之前是没有块级作用域的,但为了与ES6统一,使文章更简明,所以把这对'{}'统一称为块级作用域. 开正题之前,还 ...

  9. 关于 JS 模块化的最佳实践总结

    模块化开发是 JS 项目开发中的必备技能,它如同面向对象.设计模式一样,可以兼顾提升软件项目的可维护性和开发效率. 模块之间通常以全局对象维系通讯.在小游戏中,GameGlobal 是全局对象.在小程 ...

最新文章

  1. SpringBoot项目使用nacos,kotlin使用nacos,java项目使用nacos,gradle项目使用nacos,maven项目使用nacos
  2. MPB:清华杨云锋组-利用GeoChip分析环境微生物功能基因群落结构
  3. Angular路由--基本用法
  4. linux mentohust dhcp,MentoHUST的使用教程详解
  5. python统计图原理_AB测试原理及样本量计算的Python实现
  6. 数字电子技术基础第三版杨志忠_阎石数字电子技术基础第6版笔记和课后习题详解...
  7. vue计算属性与监听器的区别
  8. c语言把鼠标变成别的图案,鼠标指针图案怎么换?换成自己喜欢的可以吗?
  9. STM32通过SD卡IAP
  10. 【软考】2020下半年软件设计师 易错知识点(1)
  11. Linux虚拟机遇到的一些问题
  12. win10禁止访问某网站
  13. 关于内存泄漏和内存溢出
  14. STM32RCT6芯片引脚的含义与作用
  15. 【Linux进程间通信】一、什么是IPC
  16. Java实现欧几里得法求最大公约数GCD
  17. 42、【斯纳克图书馆管理系统】编目流程 [ 打印编号]
  18. 《论文写作》课程总结收获
  19. PHY芯片外围配置说明
  20. 孩子学编程,作为教育者该如何选择编程语言?

热门文章

  1. 杨洋python课程提高篇_杨洋老师《全民一起玩Python 基础篇+提高篇》
  2. Ray - 面向增强学习场景的分布式计算框架
  3. 双目摄像头构建点云_构建一个体现性的社会代理或疯狂的网络摄像头远程购物车...
  4. (病理图像读写)病理图像(whole slide images,WSI)的读写(.svs, .tiff),使用openslide,和pyvips以及matlab
  5. 运营入门——运营本源
  6. 西门子触摸屏维修6ES7613-1CA02-0AE3按键屏修理
  7. 统计初级专业资格证知识点
  8. 分布式事务:TCC两阶段异步补偿型
  9. yolov5通过ncnn在安卓平台部署
  10. Unity 代码切换 Android平台