Javascript 模块导入导出(import export)

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

笔者开始学习 Javascript 的时候,对模块不太懂,不知道怎么导入模块,导出模块,就胡乱一通试

比如 import xx from 'test.js' 不起作用,就加个括号 import {xx} from 'test.js'

反正总是靠蒙,总有一种写法是对的,其实还是没有理解,还是不懂

尤其是在当初写 www.helloworld.net 网站的时候,一遇到这种问题,就懵逼了,尤其是引入第三方库的时候

这种情况下更多,此篇文章也是为了怕以后忘记,自查用的,也希望能帮助更多的朋友,此篇文章只是针对 ES6 的模块相关知识

首先要知道 export,import 是什么

我们知道,JS 模块导入导出,使用 import , export 这两个关键字

  • export 用于对外输出本模块

  • import 用于导入模块

也就是说使用 export 导出一个模块之后,其它文件就可以使用 import 导入相应的模块了

下面我们具体看看, import 和 export 到底怎么用?怎么导出模块(比如变量,函数,类,对象等)

1 导出单个变量

//a.js 导出一个变量,语法如下export var site = "www.helloworld.net"
//b.js 中使用import 导入上面的变量import { site } from "/.a.js" //路径根据你的实际情况填写console.log(site)//输出:www.helloworld.net

2 导出多个变量

上面的例子是导出单个变量,那么如何导出多个变量呢

 //a.js 中定义两个变量,并导出 var siteUrl="www.helloworld.net" var siteName="helloworld开发者社区"  //将上面的变量导出 export { siteUrl ,siteName }    // b.js 中使用这两个变量 import { siteUrl , siteName } from "/.a.js" //路径根据你的实际情况填写
 console.log(siteUrl)//输出:www.helloworld.net console.log(siteName)//输出:helloworld开发者社区

3 导出函数

导出函数和导出变量一样,需要添加 { }

//a.js 中定义并导出一个函数function sum(a, b) {    return a + b}//将函数sum导出export { sum } //b.js 中导入函数并使用import { sum } from "/.a.js" //路径根据你的实际情况填写console.log( sum(4,6) ) //输出:10

4 导出对象

js 中一切皆对象,所以对象一定是可以导出的,并且有两种写法

4.1 第一种写法

使用 export default 关键字导出,如下

//a.js 中,定义对象并导出, 注意,使用export default 这两个关键字导出一个对象export default {    siteUrl:'www.helloworld.net',    siteName:'helloworld开发者社区'}//b.js 中导入并使用import obj from './a.js'   //路径根据你的实际情况填写console.log(obj.siteUrl)//输出:www.helloworld.netconsole.log(obj.siteName)//输出:helloworld开发者社区

4.2 第二种写法

同样是使用 export default 关键字,如下

//a.js 中定义对象,并在最后导出var obj = {   siteUrl:'www.helloworld.net',    siteName:'helloworld开发者社区'}
export default obj//导出对象obj//b.js 中导入并使用import obj from './a.js'   //路径根据你的实际情况填写console.log(obj.siteUrl)//输出:www.helloworld.netconsole.log(obj.siteName)//输出:helloworld开发者社区

5 导出类

导出类与上面的导出对象类似,同样是用 export default 关键字,同样有两种写法

5.1 第一种写法

//a.js 中定义一个类并直接导出export default class Person {    //类的属性    site = "www.helloworld.net"    //类的方法    show(){        console.log(this.site)    }}//b.js 中导入并使用//导入类import Person from './a.js'//创建类的一个对象personlet person = new Person()//调用类的方法person.show()  //输出:www.helloworld.net

5.2 第二种写法

//a.js 中定义一个类,最后导出class Person {    //类的属性    site = "www.helloworld.net"
    //类的方法    show(){        console.log(this.site)    }}
//导出这个类export default Person 
//b.js 中导入并使用//导入类import Person from './a.js'
//创建类的一个对象personlet person = new Person()
//调用类的方法person.show()  //输出:www.helloworld.net

小结

下面我们简单总结一下

export 与 export default 的区别

  • export 与 export default 均可用于导出常量、函数、文件、模块等

  • 可以在其它文件或模块中通过 import+(常量 | 函数 | 文件 | 模块) 名的方式,将其导入,以便能够对其进行使用

  • export default 后面不能跟 const 或 let 的关键词

  • export、import 可以有多个,export default 仅有一个。

  • 通过 export 方式导出,在导入时要加 { },export default 则不需要

  • export 具名导出 xxx ,export default 匿名。区别在于导入的时候,export 需要一样的名称才能匹配,后者无论取什么名都可以。

  • 模块化管理中一个文件就是一个模块,export 可以导出多个方法和变量,export default 只能导出当前模块,一个 js 文件中只支持出现一个

对于import ,export , export default ,他们的用法上面的例子已经很详细的列出了,忘记的时候,可以当作参考看看

最重要的还是要明白为什么要这么写,实在不明白记住就行了。文章来源地址https://www.toymoban.com/news/detail-449686.html

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

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

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

相关文章

  • VScode import导入自己的模块文件路径错误ModuleNotFoundError: No module named ‘v0‘

    VScode的python报错 ModuleNotFoundError: No module named ‘v0’ 我的工作区文件夹打开的是server,文件相对路径是: server/v0/train_ddpg.py,其中的部分导入import代码如下,v0是上一级文件夹 from v0.cli import cli_train from v0.config import config_dict 不想修改代码,因为需要改的地方太多了,而只通过

    2024年02月04日
    浏览(21)
  • 记录--你真的能区分JavaScript的各种导入导出方式吗?

    我们在无论是在查阅别人的代码,还是在实际项目开发的过程中,肯定都会使用导入导出的功能,有时候我们会搞混这几种方式到底有什么区别,今天我们就来细致的区分一下: 我们都知道最常见的几种导出方式无非是 export , exports , export default , module.exports 这几种,常

    2024年02月08日
    浏览(26)
  • JS模块化,ESM模块规范的 导入、导出、引用、调用详解

    在之前的 JS模块化的各种规范 之 CJS、AMD、CMD、UMD、ESM 文章中,介绍了关于JS模块化的各种规范的区别和简单使用。 由于ESM模块规范也是 ECMAScript2015(ES6)中的规范标准,在日常的Web项目开发、小程序开发、APP开发等都是很常用的,所以本文重点将 ESM模块规范中的 导出、导

    2024年02月05日
    浏览(26)
  • 在Node.js中,什么是模块(module)?如何导入和导出模块?

    聚沙成塔·每天进步一点点 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而

    2024年02月05日
    浏览(28)
  • 面试题-TS(五):TypeScript 中的模块是什么?如何导入和导出模块?

    面试题-TS(5):TypeScript 中的模块是什么?如何导入和导出模块? 在TypeScript中,模块(Modules)是一种用于组织和管理代码的概念。模块提供了一种封装代码的方式,允许我们将相关的功能和数据组织在一起,实现代码的可重用和可维护。 一、模块的概念和作用 模块是一个独立

    2024年02月15日
    浏览(79)
  • PyCharm更换pip源、模块安装、PyCharm依赖包导入导出

    一、Pycharm更换安装源 在下载安装好Pycharm后,一个在实际编程开发过程中非常重要的问题是第三方库添加,然而Python默认的源网络速度有点慢,因此,我们常常需要做的是更换Pycharm的安装源。 在当前最新版(2022.03版)的Pycharm中,更换安装源过程如下所示: 首先在项目开始

    2024年02月09日
    浏览(37)
  • (区别、详解、使用)module.exports与exports,export与export default,import 与require require和import区别

    目录 导出简介(里面有小细节请仔细阅读)  module.exports与exports 1.该js文件要导出的值即为test  2.该js文件要导出的值即为test1和test2 3. 注意这里我是先给module.exports.test2赋值,然后给module.exports赋值,因此{test1}覆盖了原来的test2,因此module.exports中只有test1  4. 该js文件要导出

    2024年02月02日
    浏览(39)
  • export和export default和import的说明

    目录 1.说明 2.export 3.import 4.export default 5.总结 1.说明 ES6中,export与export default均可用于导出常量、函数、文件、模块等。 import用于导入其他被导出的常量、函数、文件、模块等。 2.export 一个独立的文件,该文件内部的变量,方法等,外部无法获取。如果想读取其他vue文件中的

    2024年02月05日
    浏览(41)
  • (区别、详解、使用)module.exports与exports,export与export default,import 与require

    目录 导出简介(里面有小细节请仔细阅读)  module.exports与exports 1.该js文件要导出的值即为test  2.该js文件要导出的值即为test1和test2 3. 注意这里我是先给module.exports.test2赋值,然后给module.exports赋值,因此{test1}覆盖了原来的test2,因此module.exports中只有test1  4. 该js文件要导出

    2024年02月08日
    浏览(34)
  • PyCharm更换pip源、模块安装、PyCharm依赖包导入导出_pycharm修改pip源

    一、Pycharm更换安装源 在下载安装好Pycharm后,一个在实际编程开发过程中非常重要的问题是第三方库添加,然而Python默认的源网络速度有点慢,因此,我们常常需要做的是更换Pycharm的安装源。 在当前最新版(2022.03版)的Pycharm中,更换安装源过程如下所示: 首先在项目开始

    2024年01月23日
    浏览(38)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包