utils / mathlib.js

export function add(x, y) {
    return x + y;
}
export function subtract(x, y) {
    return x - y;
}


main.js

import add from "./../utils/mathlib"; //not working. but if I do default export like `export default function add(x, y)` it will work
import { add } from "./../utils/mathlib"; //working
import * as MathLib from "./../utils/mathlib"; //working


但是我想用相同的标识符导入模块中所有可用的功能,而无需单独导入或通过导入对象。像下面这样

import * from "./../utils/mathlib"


我应该能够使用加,减功能。

该用例的原因是,每当我在MathLib.js中添加新功能时,它都应该无需修改就可以使用。(我仅将MathLib用作示例用例,在我的实际用例中,每当导入模块时,所有功能都是必需的) 。

最佳答案

如果没有显式命名的import / exports,则当前无法导入全局名称空间。它有助于防止全局命名空间污染和在全局范围内意外覆盖变量。

关于javascript - 从模块导入多个功能,而无需显式导出对象或命名导出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49727516/

10-09 23:16