浏览器环境下的模块导入导出

特点

  1. 遵循ES Module规范。
  2. 导入导出方式:
    • 导出:exportexport default
    • 导入:import

详细导入导出方式

  1. 普通导入导出:

    // module.js
    export function func1() {};
    export const num1 = 999;
    // import.js
    import { func1, num1 } form './module.js'
    
    // module.js
    function func1() {};
    const num1 = 999;
    export { func1, num1 }
    // import.js
    import { func1, num1 } form './module.js'
    
  2. 默认导出:

    // module.js
    export default function () {}
    // import.js
    import func1 form './module.js'
    func1();
    
  3. 避免命名冲突:

    // module.js
    function func1 () {};
    export { func1 as funcName };
    // import.js
    import { funcName } from './module.js';
    
    // module.js
    function func1 () {};
    export { func1 };
    // import.js
    import { func1 as funcName } from './module.js';
    
  4. 创建模块对象:

    // module.js
    function func1() {};
    function func2() {};
    export { func1, func2 };
    // import.js
    import * as func form './module.js';
    func.func1();
    func.func2();
    
  5. 模块与类:

  6. 合并模块:

  7. 动态加载模块:

注意事项

  1. 导入模块的路径一般为,以站点作为根目录的绝对路径,但是通常可以使用点语法(表示当前路径)来找到所需的模块,这样就不需要写下整个路径。
  2. 在一些模块系统中可以省略文件扩展名,但是原生JavaScript模块系统并不支持。
  3. 模块导出的是引用,而不是副本,所以改变模块中的值是会影响所有引用该模块的功能。

NodeJS环境下的导入导出

特点

  1. 遵循CommonJS规范。
  2. 导入导出方式:
    • 导出:mudule.exportsexports两种方式。
    • 导入:require
  3. 第一次加载会运行整个模块,然后将结果缓存到内存中,之后加载这个模块是在缓存中读取。
  4. 模块加载的顺序是按照其在代码中出现的顺序。

export

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!

上一篇
表格视图逻辑优化 下一篇