美文网首页
require和import的区别

require和import的区别

作者: lbug | 来源:发表于2022-10-07 15:54 被阅读0次

    前言:感觉是nodejs涉及相关问题,但是我面的是vue前端开发,有点奇怪,查了不太懂,欢迎懂哥解惑
    ——————————————————————
    JavaScript支持本地js文件中的某个数据类型导入到另一个js文件中的操作

    1、import是es6规范语法,require是AMD规范引入方式
    2、import是在编译时被加载,所以放在文件开头。require在代码运行时被加载,所以require理论上可以运用在代码任何地方。import性能更好。
    3、import引入的对象被修改时,源对象也会被修改,相当于浅拷贝,require引入的对象被修改时,源对象不会被修改,官网称值拷贝,我们可以理解为深拷贝。
    4、import有利于tree-shaking(移除JavaScript上下文中未引用的代码),require对tree-shaking不友好。
    import 虽然是 es6 中的语法,但就目前来说,所有的引擎都还没有实现import。2022-09-28查询
    我们在 node 中使用 babel 支持ES6(在 node 当中,比如 node.js 代码,也不能直接使用 import 来导入,必须使用 babel 支持才能使用语法),实际上也是将 ES6 转码为 ES5 再执行,import 语法实际上会被转码为 require。这也是为什么在模块导出时使 module.exports,在引入模块时使用 import 仍然起效,因为本质上,import 会被转码为 require 去执行。

    原文链接:
    https://cloud.tencent.com/developer/article/1611197
    https://blog.csdn.net/m0_66194642/article/details/127085347
    ————
    备注
    tree-shaking
    Tree shaking字面意就是“摇树”,通过摇树将树上枯黄的叶子摇落,在项目开发中,我们会按照模块划分的方式将代码组织起来,tree shaking的作用是把项目中没必要的代码全部抖落掉,消除被引用,删除没被调用的无用模块代码,该优化最终实现的是代码体积的减少,也属于项目性能优化的一部分。

    相关文章

      网友评论

          本文标题:require和import的区别

          本文链接:https://www.haomeiwen.com/subject/urcwartx.html