前端模块化(CommenJS规范、ES6规范)
目录
- 1. 简介
- 2. CommonJS规范
- 3. ES6模块化规范
- 写法一
- 写法二(推荐)
1. 简介
随着网站逐渐变成”互联网应用程序”,嵌入网页的Javascript代码越来越庞大,越来越复杂。
Javascript模块化编程,已经成为一个迫切的需求。理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块。但是,Javascript不是一种模块化编程语言,它不支持”类”(class),包(package)等概念,也不支持”模块”(module)。
因此引入了两种模块化规范:
CommonJS
模块化规范ES6
模块化规范
2. CommonJS规范
每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。
CommonJS
使用 exports 和 require 来导出、导入模块
项目结构:
首先创建四则运算.js
,作为工具类来使用,其中定义四个方法,然后导出所有方法
//四个方法
const sum = function (a, b) {return a + b
}
const sub = function (a, b) {return a - b
}
const mul = function (a, b) {return a * b
}
const div = function (a, b) {return a / b
}//导出
// module.exports = {// sum: sum,
// sub: sub,
// mul: mul,
// div: div
// }//可简写成
module.exports = {sum,sub,mul,div
}
然后创建test.js
引入上述模块测试
const fun = require('./四则运算.js');console.log(fun.sum(1,2));
console.log(fun.sub(1,2));
console.log(fun.mul(1,2));
console.log(fun.div(1,2));
运行程序测试
3. ES6模块化规范
ES6
使用 export 和 import 来导出、导入模块。
写法一
项目结构:
首先创建工具.js
,作为工具类来使用,其中定义并导出两个方法
export function get(){console.log("获取");
}export function save(){console.log("保存");
}
然后创建工具.js
,用来导入上述方法并测试
//导入方法
import {get,save} from './工具.js';get();
save();
运行测试:发现报错了
这是因为nodejs
默认不支持es6的import
语法,我们需要用Babel
转换成ES5语法再执行
初始化项目成一个nodejs
项目
npm init -y
编写.babelrc
配置文件
{"presets": ["es2015"],"plugins": []
}
然后安装转码器,在项目中安装
npm install --save-dev babel-preset-es2015
然后就可以进行转码,我们将在项目根目录下创建src
目录,然后将测试.js
和工具.js
移入,再输入如下命令转码
babel src -d dist
然后打开新生成dist/测试.js
运行测试
成功显示结果!
写法二(推荐)
工具.js
修改为:
export default {get() {console.log("获取");},save() {console.log("保存");}
}
测试.js
修改为:
//以对象形式导入
import tool from './工具.js';tool.get();
tool.save();
然后同样进行转码执行即可
前端模块化(CommenJS规范、ES6规范)相关推荐
- es6 混合commjs_前端模块化——CommonJS、ES6规范
什么叫模块化? 对于一个复杂的程序,将其按照一定的规范封装成几个文件块,每一块向外暴露一些接口,但是块的内部数据是私有的,块与块之间通过接口通信.这个过程称为模块化. 模块化的好处 CommonJS ...
- java-初识大前端Node.js、ES6、Npm、Babel、模块化规范、WebPack、Vue-element-admin本地安装问题及解决、Git安装及配置、uni-app
VS code安装 安装成功 配置自动补齐Emment Node.js node.js下载网址: http://nodejs.cn/ 安装成功! 概念 Node.js发布于2009年5月,由Ryan ...
- 浅析:前端模块化开发规范
浅析:前端模块化开发规范 早期的模块化解决方案 NameSpace:命名空间模式 匿名闭包:IIFE模式 模块模式:IIFE+依赖传参 ES6之前的模块化解决方案 CommonJS模块化规范 AMD模 ...
- 【JavaScript高级】模块化规范「一文让你彻底搞懂前端模块化规范 区别」
在JS最早出现的时候,是为了实现一些简单的功能,但随着浏览器的不断发展,对于JS的要求也越来越高,需要实现一些较为复杂的功能.这个时候开发者为了维护方便,会把不同功能的模块抽离出来写入单独的 js 文 ...
- JS模块化(CommomJS规范和ES6规范)
目录标题 简介 CommonJS规范 ES6模块化规范 简介 随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂. Javascript模 ...
- 前端模块化CommonJS、AMD、CMD、ES6
一.前端模块化 什么是模块化?为什么前端需要模块化? js代码量激增,放在同一个文件里面,不容易维护,而且牵一发而动全身. 这时候就需要将代码按照逻辑放在不同的文件里面,按照一定的语法规则,遵循特定的 ...
- [ES6] 细化ES6之 -- 前端模块化
前端模块化 前言 前端开发领域发展到目前阶段: 零件化 - 最终呈现给用户是一个完整的产品(由各个零件组成的) 降低生产成本 – 多人协作(每个人各司其职) 降低使用成本 - 各个零件之间是低耦合的 ...
- 模块化 AMD与CMD 规范
JavaSript模块规范 - AMD规范与CMD规范介绍 2014-02-19 13:12:01 分类: JavaScript JavaSript模块化 在了解AMD,CMD规范前,还是需要先来简单 ...
- 7.前端开发规范 eslint-jslint规范
前端的开发规范 1.目录构建的规范 命名原则: 简洁 比如: src 源代码 img 图片资源 js JavaScript脚本 dep 第三方依赖包 不使用复数 比如: 不使用 imgs docs 根 ...
最新文章
- Cell二连发 | 广东CDC/耶鲁大学利用纳米孔测序揭示中/美新冠病毒基因组流行病学传播规律...
- 《精通Nginx》——2.3 使用include文件
- 第10章 部署Exchange2010 部署边缘服务器
- python0b1011_1011 A+B 和 C (15分)Python参考答案
- mysql msql_MySQL数据库学习二 MSQL安装和配置
- 【Flink】Flink 写入到 CSV BucketingSink 的使用方法
- php 5.5 编译安装,php5.5.38编译安装
- 《CUDA C编程权威指南》——2.4节设备管理
- linux shell脚本判断文件或文件夹是否存在循环操作
- 我的世界服务器光影文件夹,我的世界光影怎么开?中国版介绍
- 王国纪元服务器不稳定,王国纪元闪退怎么解决 游戏闪退解决方法
- 中国经济社会大数据研究平台——国内统计数据
- 联想V480(扬天) EI Capitan 完美驱动教程
- amazon - FileZilla 连接 amazon云服务器
- 96微信编辑器html在哪里,96微信编辑器怎么把文章生成链接?
- dell笔记本外接显示器_笔记本连接显示器怎么设置【图文教程】
- 关于个人目标的一篇博客
- 路由器,交换机的存储介质的区别
- SaaSBase:什么是INFOR ERP?
- android陀螺仪实现背景移动demo,基于HTML5陀螺仪实现移动动画效果
热门文章
- 复习笔记:科学技术史
- ArcGIS engine中Display类库——Display(一)
- 水清冷冷:PSCC2019/PSCC2020安装教程和学习技巧(附工具)
- 【小萝莉说Crash】第二期:Unrecognized selector xxx 之 ForwardInvocation
- 一篇挺有意思的文章(转自CSDN)
- python音乐下载_python 音乐下载演示源代码
- 在iphone中添加日历库kal
- 微信企业支付 服务器根证书,微信支付服务器证书根ca证书有什么用
- 项目一:使用python tkinter模块做简单的计算器
- 以史为镜,认知计算机操作系统