gpt4 book ai didi

javascript - 导入模块 NodeJS 中的所有导出

转载 作者:行者123 更新时间:2023-11-30 20:02:25 25 4
gpt4 key购买 nike

我希望能够访问模块的所有导出,而不必在导出之前说 module.

假设我有一个模块:

// mymod.js
module.exports.foo = function() {
console.log("foo!");
}
module.exports.bar = "bar!";

还有一个主文件:

// main.js
var mymod = require("./mymod.js");
mymod.foo();

有没有一种方法可以调用 foo() 而无需在之前说 mymod. ?这可以在 python 中通过说 import module as * 来实现。NodeJS 相当于什么?

最佳答案

在ES6中你可以通过以下方式导入模块

import moduleName from "path/to/module"; // import default export from the file as moduleName object, moduleName can be anything
import { exportMemberName1, exportMemberName2, ... } from "path/to/module"; // destructured import, it will destructure import and can access the export module without prefixing anything
import * as moduleName from "path/to/module"; // import everything exported from the file as moduleName object, you can access every export members from that object, moduleName can be anything

这些是 ES6 提供的唯一导入模块的方法(您也可以使用 require)。

如果你必须导入 100 多个模块,最好的方法是第三种方法,将所有内容作为对象导入并随时解构,我的意思是如果你有很多函数或方法,在那个函数中解构你想要的东西,例如。

import * as moduleName from "path/to/file";

function function1(){
const { exportMember1, exportMember2 } = module;
}

function function2(){
const { exportMember1, exportMember5, exportMember7 } = module;
}

关于javascript - 导入模块 NodeJS 中的所有导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53235199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com