ES6 模块 export 用法(三种方式)

这篇具有很好参考价值的文章主要介绍了ES6 模块 export 用法(三种方式)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

使用 ES6 Module 新特性,提供模块格式。前端项目中,常用于封装 API 。所以这里做个汇总及差异对比说明。

方式一:export

定义

/** common.js */

// 设置名称
export function setName(name) {    
	// ...
}

// 获取名称
export function getName(){
    return '张三';
}

// 删除名称
export function deleteName() {
    // ...
}

用法

  • 代码 1 - 3 行,整体加载,* 表示全部,使用关键字 as,取别名为 api。调用:别名.方法名()
  • 代码 5 - 7 行,按需加载,用花括号列出要使用的方法名,直接调用方法名即可;
// 整体加载(推荐)
import * as api from './common.js'
api.getName();

// 按需加载,但推荐上面的写法
// import { setName, getName, deleteName } from './common.js'
// getName();

方式二:export default

定义

/** common.js */

export default {
    // 设置名称
    setName(name) {    
        // ...
    },

    // 获取名称
    getName(){
        return '张三';
    },

    // 删除名称
    deleteName() {
        // ...
    }
}

用法:直接使用默认 default

  • 代码第 1 行,因为在定义时使用 default方式,直接取别名 api。调用:别名.方法名()
  • 代码第 3 行,等同于第 1 行,省去了 default的别名定义;
import api from './common.js'
// 等同于
// import { default as api } from './common.js';

api.getName();

方式三:export default class

定义

export default class {
    // 设置名称
    static setName(name) {    
        // ...
    }

    // 获取名称
    static getName(){
        return '张三';
    }

    // 删除名称
    static deleteName() {
        // ...
    }
}

用法:与方式二一致。但差异是,二是导出对象,这里是导出。如要直接使用方式,要设置静态方法 static。`

  • 代码第 1 行,因为在定义时使用 default方式,直接取别名 api。调用:别名.方法名()
  • 代码第 3 行,等同于第 1 行,省去了 default的别名定义;
import api from './common.js'
// 等同于
// import { default as api } from './common.js';

api.getName();

总结

前端项目中,要封装 API ,推荐使用 方式二方式三

学习链接

ES6 Module文章来源地址https://www.toymoban.com/news/detail-631281.html

到了这里,关于ES6 模块 export 用法(三种方式)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【JavaScript】探索ES6中的数组API:简洁高效的操作方式

    ES6 ( ECMAScript 2015 )是 JavaScript 语言的一个重要版本,为编写更加简洁、便捷和可读性更高的代码提供了很多新的特性和 API。想了解ES6所有新增API,可以跳转至我的另一篇博客:JS语法 ES6、ES7、ES8、ES9、ES10、ES11、ES12新特性 其中 数组相关的 API 也在 ES6 中得到了大大的增强,

    2024年02月09日
    浏览(38)
  • 【ES6】CommonJS模块和ES6模块

    在JavaScript中,模块是一种将功能代码组织成逻辑单元的方式,以便在其他项目中重复使用。有两种主要的模块系统:CommonJS和ES6。 1、CommonJS 在CommonJS中,我们使用require来引入模块,使用module.exports来导出模块。 下面是一个简单的例子: 然后,在另一个文件中,我们可以使用

    2024年02月09日
    浏览(30)
  • 【ES】笔记-ES6的函数rest参数用法

    es6中引入了rest参数,样式形如…xxx,用于获取函数的多余参数,这样就不需要使用arguments对象了。rest参数搭配的一个变量是一个数组,该变量将多余的参数放入数组中。例如: 上面代码的add函数是一个求和函数,利用rest参数,可以向该函数传入任意数目的参数。 下面是一

    2024年02月13日
    浏览(30)
  • JavaScript ES6实现继承

    1 对象的方法补充 2 原型继承关系图 3 class方式定义类 4 extends实现继承 5 extends实现继承 6 多态概念的理 function 创建的名称如果开头是大写的,那这个创建的不是函数,是创建了类。 可以把class创建的类当做是function创建的类的一种语法糖。但是在直接使用的方面是有不同之处

    2024年02月16日
    浏览(34)
  • 【JavaScript】数组方法 (ES6)

    arr.find(callback) 用于获取第 1 个符合要求的元素: callback : (item, index, arr) = boolean item -当前值、 index -当前索引、 arr -当前数组 返回值: callback 第一次返回 true 的对应 item ;如果没有符合的元素,则返回 undefined arr.findIndex(callback) 用于获取第 1 个符合要求的元素的下标: cal

    2024年02月14日
    浏览(44)
  • 【ES6】Promise.all用法

    Promise.all()方法用于将多个 Promise 实例,包装成一个新的 Promise 实例。 上面代码中,Promise.all()方法接受一个数组作为参数,p1、p2、p3都是 Promise 实例,如果不是,就会先调用下面讲到的Promise.resolve方法,将参数转为 Promise 实例,再进一步处理。另外,Promise.all()方法的参数可以

    2024年02月09日
    浏览(26)
  • ES6-ES13用法(高频面试题)

    1. ES6新增的方法 let和const,解构赋值、模板字符串、箭头函数。 Symbol、Map、Set三种常用的数据类型。 Proxy重新定义了数据劫持的能力 Reflect定义了一套标准化的数据操作的方式 Promise确实的解决了异步逻辑嵌套及回调地狱问题。定义了异步逻辑的三种状态pending、rejected、full

    2024年01月25日
    浏览(31)
  • es6---模块化

    main.js module1.js module2.js package.json 和babel.config.json index.html中使用编译之后的js note: babel js --out-dir lib browserify -e ./lib/main.js -o ./dist/boundle.js script中的compile命令,使用管道符串联命令。 先使用babel转换es6语法(名为env的preset),再使用browserify编译代码

    2024年02月09日
    浏览(26)
  • JavaScript Es6_3笔记

    了解构造函数原型对象的语法特征,掌握 JavaScript 中面向对象编程的实现方式,基于面向对象编程思想实现 DOM 操作的封装。 了解面向对象编程的一般特征 掌握基于构造函数原型对象的逻辑封装 掌握基于原型对象实现的继承 理解什么原型链及其作用 能够处理程序异常提升程

    2024年02月11日
    浏览(38)
  • JavaScript 之 ES6 新特性

    在ES6中,模块化成为了JavaScript的标准特性。ES6模块化提供了一种更加优雅和可维护的方式来组织和管理JavaScript代码,可以有效地避免全局变量的污染和命名冲突的问题。以下是ES6模块化的一些主要特性: 导出(export): 可以通过 export 将一个变量、函数或类导出为一

    2024年02月07日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包