返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Javascript模块导入导出详解
  • 394
分享到

Javascript模块导入导出详解

摘要

笔者开始学习javascript的时候,对模块不太懂,不知道怎么导入模块,导出模块,就胡乱一通试 比如 import xx from 'test.js'&n

笔者开始学习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.net
console.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.net
console.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'

//创建类的一个对象person
let 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'

//创建类的一个对象person
let person = new Person()

//调用类的方法
person.show()  	//输出:www.helloworld.net

小结

下面我们简单总结一下

exportexport 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 ,他们的用法上面的例子已经很详细的列出了,忘记的时候,可以当作参考看看

最重要的还是要明白为什么要这么写,实在不明白记住就行了。

到此这篇关于Javascript模块导入导出详解的文章就介绍到这了,更多相关Javascript模块导入导出内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Javascript模块导入导出详解

本文链接: https://lsjlt.com/news/175761.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Javascript模块导入导出详解
    笔者开始学习Javascript的时候,对模块不太懂,不知道怎么导入模块,导出模块,就胡乱一通试 比如 import xx from 'test.js'&n...
    99+
    2022-12-25
    JavaScript 模块导入导出 js模块导入/导出 如何在JavaScript中导入导出模块
  • JavaScript ES6模块怎么导入和导出
    本篇内容介绍了“JavaScript ES6模块怎么导入和导出”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言:ES6模块化导入...
    99+
    2023-07-02
  • JavaScript ES6模块导入和导出的方法
    目录前言:1.默认导入导出2.按需导入导出第一种情况,age is not defined第二种情况,sex is not defined 3.默认导出和整体导出一起使用总...
    99+
    2024-04-02
  • Javascript模块导入导出的方法是什么
    这篇“Javascript模块导入导出的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Javascript模块导入...
    99+
    2023-07-04
  • 如何进行JavaScript中模块的导入和导出
    今天就跟大家聊聊有关如何进行JavaScript中模块的导入和导出,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。简介早期的 Web 网站主要由 HT...
    99+
    2024-04-02
  • python中模块导入模式详解
    目录模块导入1.1 import导入模块1.2 from 模块名 import 导入模板的方法1.3 as 关键字OS模块操作文件OS模块的作用模块的制作、发布、安装3.1 模块制作...
    99+
    2024-04-02
  • Typescript模块的导入导出与继承方式
    目录Typescript模块的导入导出与继承导入测试导出测试TypeScript知识点整理TS 和 JS 有什么差异TS 数据类型TS 中的类TS 的访问修饰符TS 中的接口 - i...
    99+
    2024-04-02
  • 模块的导入
    一.模块导入的过程 (1).先从sys.modules里查看模块是否已经被导入 (2).如果没有被导入,就依据sys.path路径寻找模块 (3).找到了模块就导入 (4).创建这个模块的命名空间 (5).执行文件,把文件中的名字都放到...
    99+
    2023-01-30
    模块
  • python模块导入
    [seemmo@RegionServer1 duwen]$ pythonPython 2.6.6 (r266:84292, Nov 22 2013, 12:16:22) [GCC 4.4.7 20120313 (Red Hat 4.4.7-...
    99+
    2023-01-31
    模块 python
  • javascript如何动态导入ECMAScript模块
    小编给大家分享一下javascript如何动态导入ECMAScript模块,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! ECMAScript(又名ES2015...
    99+
    2024-04-02
  • MySQL导入与导出备份详解
    目录一、MySQL备份类型详解(一)按照备份对数据库的影响分类(二)按照备份的文件进行分类(三)按照备份的方式进行分类二、MySQL数据库导出(一)mysqldump导出数据(二)m...
    99+
    2024-04-02
  • python3导入paramiko模块
    这些指令包括paramiko 2及以上。如果你想安装paramiko 1。x,请参见安装(1.x)。然而,1.x依赖于不安全的依赖,所以升级是强烈鼓励。推荐的方式得到Paramiko是安装最新的稳定版本通过PIP:$ pip install...
    99+
    2023-01-31
    模块 paramiko
  • Python 之模块导入
       Python之所以应用越来越广泛,在一定程度上也依赖于其为程序员提供了大量的模块以供使用,如果想要使用模块,则需要导入。导入模块有一下几种方法:import module from module.xx.xx import xx fro...
    99+
    2023-01-31
    模块 Python
  • node和ES6中模块导出与导入怎么实现
    这篇文章主要介绍“node和ES6中模块导出与导入怎么实现”,在日常操作中,相信很多人在node和ES6中模块导出与导入怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”node和ES6中模块导出与导入怎...
    99+
    2023-06-17
  • Python怎么导入模块
    这篇文章主要讲解了“Python怎么导入模块”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么导入模块”吧!常规导入常规导入应该是最常使用的导入方式,大概是这样的:import&...
    99+
    2023-06-16
  • python导入模块--import--1
        python前面写的程序,后面就可以将它当成一个模块导入,取其精华舍弃不用的随意使用,最理想的情况是任何一个功能,只要写一次,以后所有人都可以任意调用,代码重用性高的可怕,而且python还可以根据需求将C,C+...
    99+
    2023-01-30
    模块 python import
  • python导入模块--import--2
    调用之前写的彩色打印,写个简单的脚本testimport.py实验下在跟之前test_import_color_print.py同级目录下创建testimport.py文件,不然导模块会有问题代码如下#!/usr/bin/python #&...
    99+
    2023-01-30
    模块 python import
  • python模块导入细节
    官方手册:https://docs.python.org/3/tutorial/modules.html 可执行文件和模块 python源代码文件按照功能可以分为两种类型: 用于执行的可执行程序文件 不用与执行,仅用于被其它pyt...
    99+
    2023-01-30
    模块 细节 python
  • golang模块安装导入
    随着Go语言开发的应用越来越复杂,对于代码模块的管理也越来越关键。在Go语言中,模块被视为一等公民,并且在Go1.11版本之后,官方提供了对于模块管理的支持,也就是所谓的go modules。本文将会介绍如何使用go modules进行模块...
    99+
    2023-05-15
  • python—模块导入和类
    1.查询模块:按目录依次查找需要导入的模块,模块目录一般在:/usr/lib64/python2.7In [2]: sys.path Out[2]: ['', '/usr/bin', '/usr/lib64/python2.7/site-p...
    99+
    2023-01-31
    模块 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作