位置:- 正文

(区别、详解、使用)module.exports与exports,export与export default,import 与require(建造师与建筑师的区别详解)

编辑:rootadmin
(区别、详解、使用)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文件要导出的值即为test2

5. 注意这里(注意点),module.exports ={test1};改变了module.exports指向的引用,exports还指向之前的module.exports引用,因此无论exports.test2 = test2;在哪里执行都不能改变该js文件索要暴露的值。所以如果要改变module.exports指向的引用,就不要使用exports

export与export default 

1.根据输出可知:export default test1;等价于exports.default = test1; export {test2};等价于exports.test2 = test2;

(坑)export {}这个语法比较特殊,{}花括号中,必须是提前定义好的

(1)正确

(2)错误

 2.可见:要想使用export或者export defalut 就不能改变module.exports指向的引用

 (坑)上面第七行代码进行了,执行module的指向更改,后续如果引入的话,就只会引入module.exports最新的一次指向

 导入简介

require

import

(注意)如果同时存在自定义的和default那么impor的时候需要注意

export defalut 就是默认输出的值,在使用import时,要想使用这个默认的值就需要只获取一个值(不加大括号,变量名随便写)

require和import区别

区别1:模块加载的时间

区别2:模块的本质

区别3:严格模式

ES6 模块之中,顶层的 this 指向 undefined ,即不应该在顶层代码使用 this


导出简介(里面有小细节请仔细阅读)

推荐整理分享(区别、详解、使用)module.exports与exports,export与export default,import 与require(建造师与建筑师的区别详解),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:退职与退休的区别详解,la和lae的区别详解,黑茶与红茶的区别详解,黑茶与红茶的区别详解,almost与nearly用法区别详解,驻与住的区别详解,almost与nearly用法区别详解,单冷空调和冷暖空调的区别详解,内容如对您有帮助,希望把文章链接给更多的朋友!

变量的导出涉及到四个关键字module.exports与exports,export与export default, 其中module.exports与exports是符合CommonJS模块规范的。 export与export default是es6用来导出模块的。

 module.exports与exportsmodule是一个对象,代指的整个js文件,而他的exports属性就是该js文件对外暴露的对象,只要是module.exports的属性内的值都能被访问到(包括字符串,数字,对象,函数)。exports指向了module.exports就相当于在js文件开头添加了这样一段代码var exports = module.exports;(区别、详解、使用)module.exports与exports,export与export default,import 与require(建造师与建筑师的区别详解)

总之我们只要记住一点:module.exports指向的东西,就是我们要导出的东西

1.该js文件要导出的值即为testconst test=1;module.exports ={test};console.log(module.exports)

 2.该js文件要导出的值即为test1和test2const test1="test1";const test2= "test2";module.exports ={test1};module.exports.test2 =test2;console.log(module.exports)

3. 注意这里我是先给module.exports.test2赋值,然后给module.exports赋值,因此{test1}覆盖了原来的test2,因此module.exports中只有test1const test1="s";const test2= "ss";const test3="sss";module.exports.test2 =test2;module.exports ={test1};console.log(module.exports)

 

 4. 该js文件要导出的值即为test2const test1="s";const test2= "ss";const test3="sss";exports.test2 = test2;console.log(module.exports)

 

5. 注意这里(注意点),module.exports ={test1};改变了module.exports指向的引用,exports还指向之前的module.exports引用,因此无论exports.test2 = test2;在哪里执行都不能改变该js文件索要暴露的值。所以如果要改变module.exports指向的引用,就不要使用exports

export与export default 这两个是es6的语法,在小程序中也是可以使用的export与export default都是用来导出变量的,并且他们两个作用与exports相同,只是语法不同二者同样是给module.exports赋值,export可以赋多个值,export default只能赋一个值(只能使用一次).export后面跟的是
本文链接地址:https://www.jiuchutong.com/zhishi/295973.html 转载请保留说明!
下一篇链接:https://www.jiuchutong.com/zhishi/295974.html
免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络