09月23, 2023

JS的ES6导入导出

对于ES6和Commonjs的导入导出经常记混了,特此写一篇博客来记录ES6和Commonjs导入导出的使用。

ES6导入

  1. 默认导入(Default Import):

    import moduleName from 'module';
    
  2. 命名导入(Named Imports):

    import { exportName } from 'module';
    
  3. 命名导入,使用别名(Renaming Named Imports):

    import { exportName as aliasName } from 'module';
    
  4. 导入模块中的所有导出(Import All):

    import * as moduleName from 'module';
    

import * 会将命名导出和默认导出全部导入。a是命名导出、default是默认导出。

ES6导出

  1. 默认导出(Default Export):

    export default value;
    
  2. 命名导出(Named Export):

    export { exportName };
    
  3. 命名导出,并使用别名(Renaming Named Export):

    export { exportName as aliasName };
    

Commonjs导入

  1. 导入整个模块:

    const module = require('module');
    
  2. 导入模块中的特定成员:

    const { member } = require('module');
    
  3. 导入模块中的所有成员:

    const module = require('module');
    
  4. 动态导入(在运行时根据条件导入模块):

    const module = require(condition ? 'moduleA' : 'moduleB');
    

Commonjs导出

  1. 导出一个值或对象:

    module.exports = value;
    
  2. 导出多个值或对象:

    module.exports = {
      value1,
      value2
    };
    
  3. 导出一个命名的成员:

    exports.member = value;
    
  4. 导出多个命名的成员:

    exports.member1 = value1;
    exports.member2 = value2;
    

模块化原理:https://juejin.cn/post/6922039283016531982#heading-7 ES6Module底层实现:http://www.wawow.xyz/#/md-render?bid=40

本文链接:https://imyoyo.xyz/post/JS-de-ES6-dao-ru-dao-chu.html

-- EOF --

Comments