范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

彻底弄懂Javascript模块导入导出

  笔者开始学习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 小结
  下面我们简单总结一下
  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   ,他们的用法上面的例子已经很详细的列出了,忘记的时候,可以当作参考看看
  最重要的还是要明白为什么要这么写,实在不明白记住就行了。

程序员的9个坏习惯,不中招的人万里挑一1。不能从错误中吸取教训作为一名开发人员,你会犯很多错误,这是不可避免的,也没什么大不了的。但如果你不断犯同样的错误,却无法从中吸取教训,那就是态度问题了。2缺乏全局管控思维,只专人大代表黄超建议美团压骑手单价,还有月休四天难道国家都国泰民安,个个都过上了富裕的生活了,连一点造福人民的建议都没了吗?居然建议这些有的没的啥玩意。当听到黄大代表的这种建议,我很想笑也很想知道黄大代表你真的是为群众着想吗?你多巴胺预测误差条件反射的神经基础2英国一位26岁男子用两周时间精心策划求婚仪式,希望给女友一个惊喜,他用100只蜡烛和60只气球在家里摆出MarryMe?(嫁给我?)的形状。然而,当他接女友回家后,发现整个房子已经90后女孩朱丹丹获全马第三名!2022深圳宝安马拉松成绩出炉3月19日上午,2022深圳宝安马拉松鸣枪开跑。经过激烈角逐,男女子全马冠军由两位埃塞俄比亚选手夺得,中国选手朱丹丹获得全马女子组第三名。据悉,本次赛事设置马拉松项目名次奖半程马拉安史之乱转折点2战2捷,大唐双子星,打得安禄山有多绝望?之华说史,史说自话。欢迎大家关注我,一起谈古论今,纵论天下大势。正当郭子仪率军全力以赴围攻云中,云中指日可下之时,玄宗突然传令郭子仪撤围云中之师,回朔方稍事休整补充,然后率大军进攻宁王之乱与王阳明一个徒有其名的战略大师养成记1519年,原本较为平静的大明朝东南地区突然掀起了一阵骚动。封地位于江西南昌的宁王朱宸濠突然掀起了一场大规模叛乱,以号称十万大军的力量攻入长江中下游地区。他企图夺取重镇安庆,图谋南干了一辈子特工,阴沟里翻了船,这个中共叛徒临死前说我想不通之前的文章讲了李士群叛国投敌后飞黄腾达,逐渐得意忘形(参见一个罪恶滔天的中共叛徒,同在苏联学习特工,危害却远超顾顺章)。可他忘了最重要最根本的一条他只是日本人豢养的一条狗,当这条狗今晚首播!这部讲述津门往事的纪录片登陆央视!一部从天津讲述中国式现代化探索之路的历史人文纪录片津门往事,将于3月20日起每晚10点,在央视纪录频道播出。该片由中共天津市委宣传部出品,天津海河传媒中心天津华光纪录影视传媒有限公英荷香料贸易战对印尼殖民地产生了什么影响?文丨温史明今编辑丨温史明今17世纪英荷香料角逐的历史背景与重要性17世纪,英国和荷兰展开了一场香料贸易的竞争。在这场竞争中,荷兰在某些方面取得了胜利,比如他们控制了香料交易港口,并鬼火一响爹妈白养,车头一翘阎王爷笑鬼火一响,爹妈白养,车头一翘,阎王爷笑。这是第一代鬼火少年用生命总结出来的真理,却拦不住一代代鬼火少年前赴后继。前几天,数百少年少女连续几晚来到广西南宁的高架桥下,共演有史以来最大越南虽废除汉字75年,但只一个字改不掉,你可能怎么也想不到引言中国拥有数千年的文明史,曾经诞生过很多国力强盛威服四海的王朝,对周边的国家产生了深远影响。最典型的就是韩国和日本,这两个国家的语言和文字,都是以中文为基础演变而成。虽然日韩都试
乾隆帝有17个儿子,为什么没发生康熙朝的夺嫡事件?九子夺嫡是发生于清康熙年间有名的皇位争夺事件,也是历史上较为激烈的帝王之争。康熙帝共有皇子三十五位,而其中有九位参与了夺嫡,所谓龙生九子,各不相同,这九位皇子个个都是精英中的精英,上过春晚的开国少将张玉华退休30年捐百万,家中最值钱是沙发一位瘦削的年迈老兵,胸前挂满了各种勋章,与他家脱落的墙皮,破旧的家具形成巨大的反差。而当了解了一个世纪在他人生中标记的刻度,忍不住脱口而出这才是我们应该追的星。张玉华(191620儿童发烧会烧坏脑子吗?阳康后家里是否需要消杀?多久能返岗?孩子阳了怎么办?儿童热性惊厥发作该如何应对?婴幼儿发烧会烧坏脑子吗?近日,清华大学附属北京清华长庚医院儿科主任徐樨巍围绕新冠疫情为家长们答疑解惑。她表示,目前没有证据表明发热会导致小时候家里穷,吃了不干净食物拉肚子,父母就摘它叶子煮水喝Hello大家好,欢迎大家收看农民营养师聊养生。在我们农村啊,其实生长着很多对我们养生保健有用的植物,只是我们许多人不认识它,也不知道它有什么用,所以常常把它当杂草去掉啊,实在是可娃高烧42度,三天转阴,家里无其他人感染,我是怎么做到的?最近这波病毒太凶残了,小区病倒了一大片。一共三百多户人家,光是能统计过来的就超过一百户,我当时就做好了心理准备,早晚得阳那么一下。只是我没想到这一天来得这么快。楼下一起玩的小伙伴,阳康之后,家里如何消毒?84还是酒精?近日,很多人的朋友圈出现最多的是自己已经阳康了,可以正常出门上班上学happy了。我们自身抗原转阴已经不排毒了,那么家中被污染的家具以及衣物该如何消毒呢?下面给大家分享一下我自己的光绪元宝和大清铜币的区别?它们到底值不值钱?光绪元宝和大清铜币皆为清朝末期铸造的机制铜圆,因为距今时间相对较短,存世量较大,所以很多家庭都有收藏。那么,它们二者的区别在哪?价值如何?也是一个比较大众化的问题。为此,本文将为您观点丰田章男再次质疑全面电动化不应该局限于一种选择文懂车帝原创李德喆懂车帝原创行业据华尔街日报消息,日本丰田汽车公司首席执行官日本汽车工业协会会长丰田章男日前在泰国接受采访时表示,他自己是汽车行业沉默的大多数之一,质疑是否应该只追父亲去世,女儿身为唯一继承人只分得50遗产!另一半给谁了?法院给说法父母离异后,惠兰跟着母亲生活。2003年,父亲张生去世,名下有一套房产,作为唯一的继承人的惠兰却只分得50遗产,这是怎么回事?近日,上海市青浦区人民法院审理了一起遗产纠纷案。52年奥密克戎有情有义,留天选之人照顾全家?近日,随着全国全面放开,奥密克戎毒株传播迅速,在全国范围内肆虐。网友们发现,几乎每一个家庭都会出现只留下一人未被感染的情况,或是总会一家人不在同一时间感染,会留下一部分人来照顾感染惠州新建三所苔花书屋惠州新建三所苔花书屋。日前,惠州慈云图书馆第二至第四期苔花励读成长计划启动,分别在博罗县柏塘镇新陂小学公庄横岭小学横河镇嶂背耀伟畲族小学建立苔花书屋。目前,惠州共有四所苔花书屋。选