ES6模块化操作
在ES5中我们要进行模块化操作需要引入第三方类库,随着前后端分离,前端的业务日渐复杂,ES6为我们增加了模块化操作。模块化操作主要包括两个方面。
export :负责进行模块化,也是模块的输出。
import : 负责把模块引,也是模块的引入操作。
export的用法:
export可以让我们把变量,函数,对象进行模块化,提供外部调用接口,让外部进行引用。
先来看个最简单的例子,把一个变量模块化。我们新建一个temp.js文件,然后在文件中输出一个模块变量。
export var a = 'js';
然后可以在index.js中以import的形式引入。
import {a} from './temp.js';
console.log(a);
这就是一个最简单的模块的输出和引入。
多变量的输出
这里声明了3个变量,需要把这3个变量都进行模块化输出,这时候我们给他们包装成对象就可以了。
var a ='js'; var b ='技术'; var c = 'web'; export {a,b,c}
函数的模块化输出
as的用法
有些时候我们并不想暴露模块里边的变量名称,而给模块起一个更语义话的名称,这时候我们就可以使用as来操作。
var a ='js'; var b ='技术'; var c = 'web'; export { x as a, y as b, z as c }
import用as方式引入 (多个变量用一个空对象来代理,你所有的方法和属性都是在types命名空间)
const LOGIN = 'login'; const LOGOUT = 'logout'; const TITLE = 'title' export {LOGIN,LOGOUT,TITLE}
import * as types from './temp.js' //你所有的方法和属性都是在types命名空间 调用里面里面的值可以 这样做 types.LOGIN types.LOGOUT types.TITLE
export default的使用
加上default相当是一个默认的入口。在一个文件里export default只能有一个。我们来对比一下export和export default的区别
1.export
export var a ='js'; export function add(a,b){ return a+b; } 对应的导入方式 import {a,add} form './temp';//也可以分开写
2.export defalut
export default var a='js'; 对应的引入方式 import a from './temp';
ES6的模块化不能直接在浏览器中预览,必须要使用Babel进行编译之后正常看到结果
与es5对应的写法
var App = require('./App') 等价写法 import App from './App' module.exports={ } 等价写法 export default { }
实例
const formatStartTime = date => { 功能块代码 } module.exports = { formatStartTime: formatStartTime, }
import formatStartTime from '../../assets/js/curData' var StartTime =formatStartTime.formatStartTime;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示