开发者社区> 问答> 正文

require 与 import 的区别

require 与 import 的区别

展开
收起
茶什i 2019-11-19 17:59:11 1261 0
1 条回答
写回答
取消 提交回答
  • 两者的加载方式不同、规范不同

    第一、两者的加载方式不同,require 是在运行时加载,而 import 是在编译时加载

    require('./a')(); // a 模块是一个函数,立即执行 a 模块函数

    var data = require('./a').data; // a 模块导出的是一个对象

    var a = require('./a')[0]; // a 模块导出的是一个数组 ======> 哪都行

    import $ from 'jquery';

    import * as _ from '_';

    import {a,b,c} from './a';

    import {default as alias, a as a_a, b, c} from './a'; ======>用在开头

    第二、规范不同,require 是 CommonJS/AMD 规范,import 是 ESMAScript6+规范

    第三、require 特点:社区方案,提供了服务器/浏览器的模块加载方案。非语言层面的标准。只能在运行时确定模块的依赖关系及输入/输出的变量,无法进行静态优化。

    import 特点:语言规格层面支持模块功能。支持编译时静态分析,便于 JS 引入宏和类型检验。动态绑定。

    2019-11-19 17:59:30
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载