node.js (ES6 Babel) 中 import X 和 import as X 的区别

编程代码JS

1个回答

写回答

maplet_t

2025-12-10 03:52

+ 关注

JS
JS

在Node.JS中,import语句用于导入其他模块的功能。ES6中引入了新的模块系统,使得在Node.JS中使用import语句成为可能。在使用import语句时,我们通常有两种选择:import X和import * as X。这两种方式在功能上有所不同,下面将详细介绍它们的区别。

import X的用法是将模块中导出的特定功能导入到当前模块中。这意味着我们只能使用导入的功能,而无法直接访问模块中的其他功能。在使用import X时,我们可以给导入的功能起一个新的名称,来避免与当前模块中的其他功能名称冲突。下面是一个使用import X的例子:

Javascript

// math.JS

export function add(a, b) {

return a + b;

}

export function subtract(a, b) {

return a - b;

}

// mAIn.JS

import { add } from './math.JS';

console.log(add(1, 2)); // 输出: 3

console.log(subtract(5, 3)); // 报错: subtract is not defined

在上面的例子中,我们将math.JS模块中的add功能导入到mAIn.JS中,并起名为add。我们可以直接使用add功能,但无法直接访问math.JS模块中的subtract功能,因为我们没有将其导入。

import * as X的用法是将模块中所有导出的功能都导入到当前模块中,并以一个对象的形式进行访问。这意味着我们可以使用导入的对象来访问模块中的所有功能。下面是一个使用import * as X的例子:

Javascript

// math.JS

export function add(a, b) {

return a + b;

}

export function subtract(a, b) {

return a - b;

}

// mAIn.JS

import * as math from './math.JS';

console.log(math.add(1, 2)); // 输出: 3

console.log(math.subtract(5, 3)); // 输出: 2

在上面的例子中,我们将math.JS模块中的所有功能导入到mAIn.JS中,并以math对象的形式进行访问。我们可以使用math对象来访问math.JS模块中的所有功能,包括add和subtract。

- 使用import X只能导入模块中的特定功能,无法直接访问其他功能,可以为导入的功能起一个新的名称。

- 使用import * as X可以导入模块中的所有功能,并以一个对象的形式进行访问。

根据实际需求来选择使用import X还是import * as X。如果只需要使用模块中的特定功能,可以使用import X来导入;如果需要访问模块中的所有功能,可以使用import * as X来导入。

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号