import和require的区别

引言

在前端开发中,我们都用到过 import module from "module " 或者const module = require( "module "),但是笔试的时候问我这俩种有什么区别?我:。。。。。


import

import 属于ES6规范

import是在编译过程中加载,也就是说是在代码执行前执行,比如说,import后面的路径写错了,在运行代码前就会抛错,所以在编写代码时,必须放在模块顶部

导入和暴露模块的方式

import module from "module " 
import {a,b} from "module " 

export default module 
export {a,b}

文件类型

import只能导入ES6模块或者使用Babel等工具转化为ES6模块的代码


require

require 属于CommonJS规范

require是运行时调用,所以是动态执行的,所以require理论上可以运用在代码的任何地方

导入模块和暴露的方式

const module = require("module") //exports = modele  module.exports = module 

module.export = {a,b,c}
exports = "hhhh"  //失败 exports.name = 'hhhh'的属性被 module.exports覆盖了,所以失效了.

文件类型

require导入CommonJS模块、AMD模块、UMD模块以及Node.js内置模块等多种类型的模块。


总结

  • import 是 ES6 中用于导入模块的语句,而 require() 则是 Node.js 中用于导入模块的函数。
  • 使用 import 语句导入模块时,模块会被静态加载,也就是在编译时就已经确定了导入的模块;
  • require() 动态加载模块的方式。它们都允许在代码运行时根据需要加载模块,而不是在编译时就将所有模块都加载进来。
  • 在整个应用程序中,使用 import语句导入的模块是单例模式,也就是共用同一个模块实例,而使用 require() 导入的模块则会因为复制而产生多个实例。
  • import 语句支持模块的默认导出和命名导出,而 require() 只支持模块的默认导出 (module.exports) 导出
  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值