javascript中导出与导入实现模块化管理教程


Posted in Javascript onDecember 03, 2020

在理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块。但是,在ES6以前,JavaScript一直没有自己模块体系(module),无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。如果要想在前端做模块化开发,必须依赖第三方框架来实现,如:requireJS与seaJS。

javascript中的导出和导入实现模块化管理

requireJS是AMD规范的起源,seaJS是CMD规范的起源,由于两者功能高度重合,后来seaJS不再维护,从此淡出人们的视野,于是requireJS一家独大,直到ES6的出现,且迅速成为前端和服务器端通用的模块解决方案,完全可以取代AMD 规范和NodeJS支持的CommonJS 规范。

ES6中首次引入模块化开发规范ES Module,让JavaScript首次支持原生模块化开发,使用 export 和 import 关键字进行模块化开发。

1 export:用于对外输出本模块

方法1 声明时直接导出

export var str = '1';

export function func1() {
 return 'hello word'
} 

export const func2 = () => {
 // 箭头函数导出
 return 'hello word'
}

方法2 统一在最后导出

var str = '1';

function func1() {
 return 'hello word'
}

const func2 = () => {
 return 'hello word'
}

export {
 str,
 func1,
 func2,
}

方法3 起别名

var str = '1';

function func1() {
 return 'hello word'
}

const func2 = () => {
 return 'hello word'
}

export {
 str as str1,
 func1 as f1,
 func2 as f2,
}

方法4 对导入的方法直接导出

这种方法常用于统一文件导出

// 这是一个utils.js 导出一个变量两个方法
var str = '1';

function func1() {
 return 'hello word'
}

const func2 = () => {
 return 'hello word'
}

export {
 str as str1,
 func1 as f1,
 func2 as f2,
}
// 这是引用utils.js的文件-config.js
export {str,func1,func2} from ‘./config.js'

方法5 默认导出(default)

这种导出方式一个js文件只能有一个default,所以它后面不能跟变量声明语句。

export default function() {}

方法6 导出类

// 这是一个utils.js 导出一个变量两个方法
export class utils {

 format(){
  // 类方法1
 };
 cheackData(){
  // 类方法2
 }
}
// 调用utils文件中
import {utils} from ‘./utils.js'

const utils = new utils();
utils.format();
utils.cheackData();

2 import:用于在模块中加载含有export接口的模块

方法1 直接导出

import {str,func1,func2} from ‘./utils.js'

方法2 起别名

这种情况一般用于导入的两个或者多个模块中存在相同的导入内容

import {str as str1,func1 as f1,func2 as f2} from ‘./utils.js'

方法3 一次导入文件中所有

import * as utils from ‘./utils.js'

utils.str
utils.func1
utils.func2

方法4 导入使用default方式导出的模块

import utils from ‘./utils.js'

到此这篇关于javascript中导出与导入实现模块化管理教程的文章就介绍到这了,更多相关javascript导出与导入模块化管理内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
document.documentElement && document.documentElement.scrollTop
Dec 01 Javascript
在Windows上安装Node.js模块的方法
Sep 25 Javascript
javascript获取隐藏dom的宽高 具体实现
Jul 14 Javascript
php跨域调用json的例子
Nov 13 Javascript
javascript生成随机数的方法
May 16 Javascript
Jquery实现仿腾讯娱乐频道焦点图(幻灯片)特效
Mar 06 Javascript
js实现页面跳转的五种方法推荐
Mar 10 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
May 16 Javascript
常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全(推荐)
Dec 20 Javascript
原生JS实现幻灯片
Feb 22 Javascript
微信小程序 弹窗自定义实例代码
Mar 08 Javascript
vue.js从安装到搭建过程详解
Mar 17 Javascript
JS如何实现在弹出窗口中加载页面
Dec 03 #Javascript
对vue生命周期的深入理解
Dec 03 #Vue.js
在实例中重学JavaScript事件循环
Dec 03 #Javascript
js 数据类型判断的方法
Dec 03 #Javascript
用vue设计一个日历表
Dec 03 #Vue.js
JS闭包原理及其使用场景解析
Dec 03 #Javascript
实用的 vue tags 创建缓存导航的过程实现
Dec 03 #Vue.js
You might like
如何使用“PHP” 彩蛋进行敏感信息获取
2013/08/07 PHP
php数组转成json格式的方法
2015/03/09 PHP
浅谈php中的循环while、do...while、for、foreach四种循环
2016/11/05 PHP
PHP实现留言板功能的详细代码
2017/03/25 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
2017/08/28 PHP
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
2010/01/15 Javascript
js实现倒计时(距离结束还有)示例代码
2013/07/24 Javascript
面向对象设计模式的核心法则
2013/11/10 Javascript
js 用CreateElement动态创建标签示例
2013/11/20 Javascript
理解JavaScript中Promise的使用
2016/01/18 Javascript
举例说明JavaScript中的实例对象与原型对象
2016/03/11 Javascript
js正则表达式replace替换变量方法
2016/05/21 Javascript
javascript验证内容为数字以及长度为10的简单实例
2016/08/20 Javascript
jquery实现手机端单店铺购物车结算删除功能
2017/02/22 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
2017/03/28 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
2018/01/12 Javascript
对vue 键盘回车事件的实例讲解
2018/08/25 Javascript
vue使用Proxy实现双向绑定的方法示例
2019/03/20 Javascript
js实现div色块拖动录制
2020/01/16 Javascript
javascript实现贪吃蛇经典游戏
2020/04/10 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
VueCli生产环境打包部署跨域失败的解决
2020/11/13 Javascript
python海龟绘图实例教程
2014/07/24 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
2018/02/18 Python
python中字符串变二维数组的实例讲解
2018/04/03 Python
python3处理含有中文的url方法
2018/05/10 Python
Mac下Anaconda的安装和使用教程
2018/11/29 Python
谈一谈基于python的面向对象编程基础
2019/05/21 Python
python3中numpy函数tile的用法详解
2019/12/04 Python
CSS3 media queries + jQuery实现响应式导航
2016/09/30 HTML / CSS
肯尼迪就职演说稿
2013/12/31 职场文书
大学生职业生涯十年规划书范文
2014/09/17 职场文书
人身意外保险授权委托书
2014/10/01 职场文书
公司离职证明标准格式
2014/11/18 职场文书
2014年环境卫生工作总结
2014/11/24 职场文书
2014年车间主任工作总结
2014/12/10 职场文书