require and import

两者用法:

  1. node 的 commonJS 规范:
    • require 引入模块 require('./xxx/xxx.js')
    • module.exports 导出接口,导出一个对象 module.exports = {}
  2. es6 的标准:
    • import 引入模块,有多种形式:
      导入 jquery,命名为 $
      import $ from 'jquery';
      
      导入 _ ,命名为 _
      import * as _ from '_';
      
      导入 a 里面的 a , b , c 三个对象
      import {a,b,c} from './a';
      
      导入 a 里面的 a 命名为 a_a,b,c 
      import {a as a_a, b, c} from './a';
      
      下面两句意思一样:
      import alias from './a'
      import {default as alias} from './a'
      
    • export 导出模块,也有多种形式:
        导出一个函数
          export default function() {}
          export function a () {}
        
        下面两句意思一样:
          export {b}
          export { b : b}
        export 导出的时候必须与模块内部的变量具有一一对应的关系,比如下面就是错误的导出:
          export b;
      
as关键字:

上面用到的 as 是取一个别名的意思,import ,export 都可以用,别名是 as 后面的名字
比如 jquery as $

default 关键字:

别名的语法糖,可以省去花括号,如果某个变量没有花括号也没有用 * 号关键字,可以还原成用 as 的写法

  • export 时:
    export default function() {}
    
    等效于:
    function a() {};
    export {a as default};
    
  • import 时:
    import a from './d';
    
    等效于 
    import {default as a} from './d';
    

require or import ?

require 简单粗暴,在哪里都能用,什么都能导,module.exports导出了什么,require 引入的就是什么,是一个赋值过程。
import 必须放在文件开头,是解构过程,性能比 require 好。

参考博客

你可能感兴趣的:(require and import)