关键词不能为空

加载模块与导入模块的区别(什么是模块,导入模块有哪几种方法)

作者:admin
来源:http://www.sdzsb8.cn/sbrx/19037.html
日期:2022-07-05 05:07
评论:0
阅读 138

加载模块与导入模块的区别?什么是模块,导入模块有哪几种方法?我们在阅读别人项目的时候经常会看到文件中出现require和import,作用都是用来引入模块化编程使用的。require require是Node内置的用于加载模块文件函数,require函数可以读取并执行一个JavaScript文件,然后返回该模块的exports对象。这样就可以实现按需加载模块模块,提高代码的性能。

加载模块与导入模块的区别(什么是模块,导入模块有哪几种方法)

我们都知道Vue如此受大众欢迎的原因之一就是它的组件开发模式,不仅提高了组件的复用性,而且每一个Vue组件都是Vue的一个实例,可以接受相同的option对象,提供相同的生命周期钩子。这使得项目调试更加简单方便,整个开发效果更高,可维护性更强,也适合多人协同开发。我们在看别人的项目时,经常会在文件中看到require和import,用来介绍模块化编程。那么这两者有什么区别呢?

?普通商品的起源

早期没有模块化思想的时候,代码写得不好,导致代码很多,逻辑重复,缺乏条理,管理维护困难,这也是很多开发者头疼的问题。随着JavaScript社区的发展,社区为JavaScript制定了相应的规范,CommonJS规范的提出得到了认可和广泛应用。2009年,CommonJS诞生。

CommonJS简介

CommonJS实现了Javascript的模块化规范,规范了模块的特性和模块之间的相互依赖关系,使得代码可以更好的编写和维护,提高了代码的复用性。每个定义文件都是一个模块(模块变量代表当前模块),并且有自己的作用域。每个文件中定义的变量、函数和类都是私有的,对其他模块不可见。模块的exports属性是一个外部接口,只有通过exports导出的属性才能被loading识别。Node是基于CommonJs规范实现的,因为CommonJs规范的加载模块是同步的,服务器中的节点模块直接存储在服务器的本地硬盘中,加载自然更快。可以说,节点工程是目前CommonJS规范最好的实际应用。

需要

Require是Node的内置函数,用于加载模块文件。require函数可以读取并执行JavaScript文件,然后返回模块的exports对象。module.exports变量(用于导出模块)和require函数(用于导入模块)是CommonJS定义的两个主要概念。module.exports属性表示当前模块与外界的接口。当其他文件通过require函数加载模块时,它们实际上读取了module.exports中的变量

ECMAScript 6(简称ES6)

ECMAScript是(欧洲计算机制造商协会脚本)的缩写,是ECMA国际标准化组织定制的JavaScript脚本语言的标准化规范。ECMAScript 6是ECMA在2015年发布的JavaScript标准,它解决了ES5的许多固有缺点,并引入了模块化的思想。ES6模块的设计思想是尽可能的静态,这样就可以在编译时确定模块的依赖关系和输入输出的变量。

进口

它是import ES6中的语法标准,也用于加载模块文件。import函数可以读取并执行一个JavaScript文件,然后返回模块的export命令指定的输出代码。export和export default都可用于导出常量、函数、文件和模块。可以有多个导出,并且只能有一个导出默认值。

要求和导入的区别

1.require是CommonJS规范的模块化语法,import是ECMAScript 6规范的模块化语法;

2、require是运行时加载,import是编译时加载;

3、要求可以写在代码的任何地方,导入只能写在文件的顶部,不能用在条件语句或函数的范围内;

4.“需要通过模块导出”导出的值不能改变,“导入通过导出”导出的值可以改变;

5;Require通过module.exports导出exports对象,import通过export导出指定输出的代码;

6.模块的性能相对较低,因为require运行时引入了模块的属性,而导入编译时引入的模块性能稍高。

require的使用

定义:module变量表示当前模块,其exports属性是外部接口。可以通过导出从模块中导出模块。用其他文件加载模块实际上是读取module.exports变量,变量可以是变量、函数、对象等。在节点中,如果使用导出进行导出,系统会帮助您将其转换为module.exports,但是需要定义导出名称。

加载模块:require方法用于加载带有js后缀的模块文件。如果参数字符串以“/”开头,则表示加载了具有绝对路径的模块文件。如果参数字符串以“.”开头。/,表示加载了相对路径的模块文件。模块被同步加载,并根据JavaScript运行时搜索的顺序进行处理。

进口的使用

定义:可以在模块中使用export关键字导出变量、对象、函数、类等。然后通过import语句使用它们。一个模块中只能有一个默认导出默认值,但可以有多个导出导出。

加载模块:导入加载模板可以多种形式加载,如整个模块的内容、单个接口、多个接口、带别名的接口、默认值等。通过这种方式,可以按需加载模块,并提高代码的性能。

更多Vue实用技巧请参考专栏:Vue实用系列


本文来自网络,不代表「专升本要什么条件_专升本要几年_成人高考专升本_山东专升本信息网」立场,转载请注明出处:http://www.sdzsb8.cn/sbrx/19037.html

加载模块与导入模块的区别(什么是模块,导入模块有哪几种方法)的相关文章

  • 气旋反气旋「高中地理气旋与反气旋」

    气旋反气旋「高中地理气旋与反气旋」:高中地理 气旋与反气旋 第三节 大气运动的主要形式 气旋与反气旋 第1页/共15页 第2页/共15页 提问?北半球低气压的气流是怎样流动的?第3页/共15页【2013年安徽卷高考地理,34题】知识

    招生学校
  • 计算机科学与技术——CS与软件工程的区别

    计算机科学与技术——CS与软件工程的区别:计算机科学与技术,简称计科(CS)简单来说,CS研究的内容非常基础,但却是计算机行业(或者说互联网行业)最关键的东西CS偏重学习计算机原理,偏理论学习内容涉及软件,也涉及

    百科
  • 汽车检测与维修技术专业(新能源汽车检测与维修技术专业)

    汽车检测与维修技术专业(新能源汽车检测与维修技术专业):大家好,今天来为大家关于汽车检测与维修技术专业(新能源汽车检测与维修技术专业)很多人还不知道,现在让我们一起来看看吧 1.新能源汽车检测与维修专业需要学习的课程有公共基

    问答
  • 冷伟青与三花集团总裁张亚波座谈:加强合作促进共赢发展

    冷伟青与三花集团总裁张亚波座谈:加强合作促进共赢发展:来源:【上海电气】9月29日下午,上海电气集团党委书记、董事长冷伟青与来访的三花控股集团有限公司(以下简称“三花集团”)董事局副主席、总裁张亚波举行座谈,双方就加强务

    百科
  • 电子信息科学与技术:未来的职业输出方向

    电子信息科学与技术:未来的职业输出方向:电子信息科学与技术?电子信息科学与技术是一个电子技术,计算机技术相结合,软件硬件相结合,宽口径,主要面向未来信息产业人才市场的专业,要求学生具备过硬的理论知识,熟练

    百科
  • 二本与三本的区别「民办二本有必要上吗」

    二本与三本的区别「民办二本有必要上吗」:三本和二本的区别还是很大的,首先从师资上面来说,二本学校肯定是好于三本学校的,而且大部分的二本学校都是公办学校,但是三本学校的话大部分都是民...虽然现在基本上没有三本批次

    招生学校
  • 题解:女子遭受虐待与遗弃,怨愤与悔恨

    题解:女子遭受虐待与遗弃,怨愤与悔恨:题解:女子遭受虐待与遗弃,自诉其怨愤与悔恨。《诗经》中的著名长篇叙事诗,后世《孔雀东南飞》、《琵琶行》等之所本。氓之蚩蚩 小伙敦厚又老实,抱布贸丝 抱着布币来买丝。匪

    百科
  • 食品生命工程学什么用「食品科学与工程好还是生物技术好」

    食品生命工程学什么用「食品科学与工程好还是生物技术好」:食品科学与工程专业培养具有化学、生物学、食品工程和食品技术知识,能在食品领域内从事食品生产技术管理、品质控制、产品开发、科学研究、工程设计等方面工作的食品科...专业

    政策
  • 高中数学:归纳总结的习惯与能力

    高中数学:归纳总结的习惯与能力:一、没有归纳总结的习惯和能力。二、课本太简单,只讲简单的概念和定义,教材学明白也就60-70。三、没有解题思路、解题方法,学习起来比较盲目。一、归纳总结的习惯和能力需要在

    百科
网站公告