📜  webpack 导入和导出 (1)

📅  最后修改于: 2023-12-03 15:35:40.529000             🧑  作者: Mango

Webpack 导入和导出

Webpack 是一个值得学习的模块打包器,它支持模块的导入和导出。

模块的导入

在 JavaScript 中,可以通过 import 语句来导入其他模块的变量、常量、函数以及类等。

例如,导入 lodash 库中的 map 函数:

import { map } from 'lodash';

const arr = [1, 2, 3];
const newArr = map(arr, item => item * 2); // [2, 4, 6]

这里,我们使用了解构赋值来导入 lodash 中的 map 函数,然后使用该函数对数组 arr 进行映射,生成新数组 newArr

在 Webpack 中,还可以使用动态导入来实现按需加载,例如:

async function loadSomething() {
  const module = await import('./module.js');
  module.doSomething();
}

这里,我们使用异步函数 import 来动态加载 module.js 模块,然后调用其 doSomething 方法。

模块的导出

在 JavaScript 中,可以通过 export 语句来导出定义的变量、常量、函数以及类等。

例如,导出一个加法函数:

export function add(a, b) {
  return a + b;
}

这里,我们使用 export 关键字导出了一个 add 函数。

在 Webpack 中,也可以使用 export 语句来导出模块。例如:

export default {
  name: 'Webpack',
  version: '5.11.1'
};

这里,我们使用了 export default 关键字来导出一个对象,该对象包含了 Webpack 的名称和版本号。

模块的复合导出

在 JavaScript 中,可以通过 export 语句来复合导出多个模块的变量、常量、函数以及类等。例如,

export const foo = 1;
export const bar = 2;

export function baz() {
  return foo + bar;
}

这里,我们使用了连续的 export 语句来导出变量 foobar,并导出一个函数 baz,该函数使用变量 foobar 来计算结果。

在 Webpack 中,可以使用 export * 关键字来复合导出多个模块的变量、常量、函数以及类等。例如:

export * from './module1.js';
export * from './module2.js';

这里,我们使用 export * 关键字来复合导出两个模块 module1.jsmodule2.js 中的所有导出内容。

总结

Webpack 支持模块的导入和导出,可以使用 import 语句来导入其他模块的变量、常量、函数以及类等,可以使用 export 语句来导出定义的变量、常量、函数以及类等。此外,Webpack 还支持动态导入和复合导出等特性,可以让开发者更加灵活地使用模块。