2022
我们一起努力

关于vue组件中require和import的区别是什么的信息

目录:

  • 1、vue中的require与import之间的区别
  • 2、Node中的require和import
  • 3、export与exports、import与require区别与联系
  • 4、import require区别
  • 5、require和import的区别

vue中的require与import之间的区别

最近做vue的换肤功能,功能的一大解决思路就是在vue的入口文件main.js中根据逻辑判断加载不同的css文件样式,以达到可以不同的样式的目的,实现换肤的功能,但是在引入css文件时候,用import 引入时报如下错误

后来使用require引入解决此问题

不禁让我陷入深思,vue中的require与import之间到底有什么区别:

首先,基本语法概念方面:

require:在导出的文件中定义module.export,导出的对象的类型不予限定(可以是任何类型,字符串,变量,对象,方法),在引入的文件中调用require()方法引入对象即可。

aPage.js中

bPage.js中引入aPage.js的方法

实质上就是把要引入的对象赋值给module对象的export属性,其他文件中可以通过require访问到这个属性

import:导出的对象必须与模块中的值一一对应,换一种说法就是导出的对象与整个模块进行结构赋值

区别:

1.require 是赋值过程并且是运行时才执行, import 是解构过程并且是编译时执行。require可以理解为一个全局方法,可以在任何位置执行,而import则必须要写死再文件的顶部,不能嵌套在条件语句中,这就是我遇到的问题

2.require的性能相对于import稍低

Node中的require和import

ES6发布之后,module成为了标准,标准的文件引用是使用export指令导出接口,再使用import指令引入模块。一般我们使用的是CommonJS规范,使用import导入模块,使用module.exports导出接口。

require的使用非常简单,module.exports 后面是什么内容,require获取的就是什么内容。

你甚至可以把 require 当成一个node内置的全局函数,它的参数也可以是表达式:

但是import 不同,import是编译的时候处理的,所以需要放在文件头声明。require是在执行的时候处理的。

从理解上来说,import 是解构过程,require是赋值过程。

More reference Link

export与exports、import与require区别与联系

一、区别于联系

1.module.exports、exports、require是属于CommonJS模块规范。

2.export、export default、import是属于ES6语法

3.module.exports和exports、export和export default都是导出模块。

4.import和require则是导入模块。

5.module.exports导出对应require导入,export导出对应import导入

二、CommonJS规范(exports与require)

Node应用由模块组成,采用CommonJS模块规范。

根据这个规范,每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。

CommonJS规范规定,每个模块内部,module变量代表当前模块。这个变量是一个对象,它的exports属性(即module.exports)是对外的接口。加载某个模块,其实是加载该模块的module.exports属性。

require方法用于加载模块。

三、ES6语法(export、export default、import)

模块功能主要由:export和import构成。export导出模块的对外接口,import命令导入其他模块暴露的接口。

export其实和export default就是写法上面有点差别,一个是导出一个个单独接口,一个是默认导出一个整体接口。使用import命令的时候,用户需要知道所要加载的变量名或函数名,否则无法加载。这里就有一个简单写法不用去知道有哪些具体的暴露接口名,就用export default命令,为模块指定默认输出。

import require区别

require表示的是运行时加载。而import表示的是编译时加载(效率更高),由于是编译时加载,所以import命令会提升到整个模块的头部。

require和import的区别

遵循的模块化规范不一样

模块化规范:即为 JavaScript 提供一种模块编写、模块依赖和模块运行的方案。谁让最初的 JavaScript 是那么的裸奔呢——全局变量就是它的模块化规范。require/exports 出生在野生规范当中,什么叫做野生规范?即这些规范是 JavaScript 社区中的开发者自己草拟的规则,得到了大家的承认或者广泛的应用。比如 CommonJS、AMD、CMD 等等。import/export 则是名门正派。TC39 制定的新的 ECMAScript 版本,即 ES6(ES2015)中包含进来。

出现的时间不同

require/exports 相关的规范由于野生性质,在 2010 年前后出生。AMD、CMD 相对命比较短,到 2014 年基本上就摇摇欲坠了。一开始大家还比较喜欢在浏览器上采用这种异步小模块的加载方式,但并不是银弹。随着 Node.js 流行和 Browsersify 的兴起,运行时异步加载逐渐被构建时模块合并分块所替代。Wrapper 函数再也不需要了。 2014 年 Webpack 还是新玩意,现在已经是前端必备神器了。

require和import的区别

require和import的区别

两个单词的词义是不同的.

具体词义如下:

require

vt. 需要; 要求; 想要; 命令;

vi. 要求,规定;

import

n. 输入; 进口,进口商品; 重要性; 意义;

vt. 输入,进口; 对…有重大关系; 意味着;

vi. 具重要性;

赞(0)
文章名称:《关于vue组件中require和import的区别是什么的信息》
文章链接:https://www.fzvps.com/246877.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!