温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ES6中怎么使用module

发布时间:2021-11-02 16:18:15 来源:亿速云 阅读:169 作者:iii 栏目:web开发

这篇文章主要介绍“ES6中怎么使用module”,在日常操作中,相信很多人在ES6中怎么使用module问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ES6中怎么使用module”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

这是一份备忘单,展示了不同的导出方式和相应的导入方式。它实际上可分为3种类型:名称,默认值和列表 ?

// 命名导入/导出  export const name = 'value' import { name } from '...'  // 默认导出/导入 export default 'value' import anyName from '...'  // 重命名导入/导出  export { name as newName } import { newName } from '...'  // 命名 + 默认 | Import All export const name = 'value' export default 'value' import * as anyName from '...'  // 导出列表 + 重命名 export {   name1,   name2 as newName2 } import {   name1 as newName1,   newName2 } from '...'

接下来,我们来一个一个的看

命名方式

这里的关键是要有一个name。

export const name = 'value'; import { name } from 'some-path/file';  console.log(name); // 'value'

默认方式

使用默认导出,不需要任何名称,所以我们可以随便命名它?

export default 'value' import anyName from 'some-path/file'  console.log(anyName) // 'value'

默认方式不用变量名

export default const name = 'value';   // 不要试图给我起个名字!

命名方式 和 默认方式 一起使用命名方式 和 默认方式 可以同个文件中一起使用?

eport const name = 'value' eport default 'value' import anyName, { name } from 'some-path/file'

导出列表

第三种方式是导出列表(多个)

const name1 = 'value1' const name2 = 'value2'  export {   name1,   name2 } import {name1, name2 } from 'some-path/file'  console.log(   name1,  // 'value1'    name2,  // 'value2'  )

需要注意的重要一点是,这些列表不是对象。它看起来像对象,但事实并非如此。我第一次学习模块时,我也产生了这种困惑。真相是它不是一个对象,它是一个导出列表

// ❌ Export list ≠ Object export {   name: 'name' }

重命名的导出

对导出名称不满意?问题不大,可以使用as关键字将其重命名。

const name = 'value'  export {   name as newName } import { newName } from 'some-path/file'  console.log(newName); // 'value'  // 原始名称不可访问 console.log(name); // ❌ undefined

不能将内联导出与导出列表一起使用

export const name = 'value'  // 你已经在导出 name ☝️,请勿再导出我 export {   name }

重命名导入

同样的规则也适用于导入,我们可以使用as关键字重命名它。

const name1 = 'value1' const name2 = 'value2'  export {   name1,   name2 as newName2 } import {   name1 as newName1,   newName2 } from '...'  console.log(newName1); // 'value1' console.log(newName2); // 'value2'  ❌ name1; // undefined name2; // undefined

导入全部

export const name = 'value'  export default 'defaultValue' import * as anyName from 'some-path/file'  console.log(anyName.name); // 'value' console.log(anyName.default); // 'defaultValue'

命名方式 vs 默认方式

是否应该使用默认导出一直存在很多争论。

就像任何事情一样,答案没有对错之分。正确的方式永远是对你和你的团队最好的方式。

命名与默认导出的非开发术语

假设你欠朋友一些钱。你的朋友说可以用现金或电子转帐的方式还钱。通过电子转帐付款就像named  export一样,因为你的姓名已附加在交易中。因此,如果你的朋友健忘,并开始叫你还钱,说他没收到钱。这里,你就可以简单地向他们显示转帐证明,因为你的名字在付款中。但是,如果你用现金偿还了朋友的钱(就像default  export一样),则没有证据。他们可以说当时的 100 块是来自小红。现金上没有名称,因此他们可以说是你本人或者是任何人?

那么采用电子转帐(named export)还是现金(default export)更好?

这取决于你是否信任的朋友?,  实际上,这不是解决这一难题的正确方法。更好的解决方案是不要将你的关系置于该位置,以免冒险危及友谊,最好还是相互坦诚。是的,这个想法也适用于你选择named  export还是default  export。最终还是取决你们的团队决定,哪种方式对团队比较友好,就选择哪种,毕竟不是你自己一个人在战斗,而是一个团体?

到此,关于“ES6中怎么使用module”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI