【发布时间】:2020-03-08 18:54:45
【问题描述】:
这是一个菜鸟问题。当我运行 app.js 时,我收到错误 createTunnelToMongoDB is not a function。我正在尝试使用tunnel-ssh 访问我的数据库。有人可以向我解释为什么我不能这样做吗?
路径:app.js
const createTunnelToMongoDB = require("./createTunnelToMongoDB.js");
(async function app() {
try {
// create a tunnel
const tunnel = await createTunnelToMongoDB();
} catch (e) {
console.log("our error", e);
}
})();
路径:createTunnelToMongoDB.js
const tunnel = require("tunnel-ssh");
const fs = require("fs");
var config = {
username: "root",
privateKey: require("fs").readFileSync(path.join(__dirname, "../../id_rsa")),
...etc
};
var tnl = tunnel(config, function(error, tnl) {
if (error) {
console.log(error);
}
return tnl;
});
module.exports = tnl;
【问题讨论】:
-
信息不足。
tunnel来自createTunnelToMongoDB.js哪里?createTunnelToMongoDB是如何导入到app.js中的? -
在这里需要更多信息。隧道是否在其他地方定义? createTunnelToMongoDB 是如何被导入的——我们在这里看不到。
-
@ThisIsNoZaku。请查看更新。
-
表示
tunnel(config, …)不返回函数。你为什么期望它? -
我需要它等到隧道连接发生后再进行下一步。我认为这是正确的方法。 @Bergi
标签: javascript node.js mongodb ecmascript-6 ssh-tunnel