gpt4 book ai didi

javascript - 如何使 Node 导出正常工作?

转载 作者:行者123 更新时间:2023-12-02 16:03:59 25 4
gpt4 key购买 nike

这里是 Node Noob...正在尝试 Exports 和 Require...

我有一个名为 GoogleHomePage.js 的 Javascript 文件,其中包含以下代码:

var GoogleHomePage = function (){
module.exports.Home = function () {
var homepage = "http://www.google.com";
browser.get(homepage);

}
}

然后我想使用另一个名为 FileB.js 的文件中的 require,如下所示:

var g = require("./GoogleHomePage.js");
g.Home();

当 g.Home() 运行时,我得到 Undefined...然而,当我在调试器中查看 g 时,我可以看到它有一个名为 Home 的函数...

如果我在控制台窗口中输入 g.Home,它会显示功能代码...

如何让 g.Home() 执行?发生这种情况是因为没有 g 对象,例如var x = new g() 还是 var x = new GoogleHomePage()?

最佳答案

您将导出包装在函数中,但它无法正常工作。试试这个:

GoogleHomePage.js:

module.exports = function() {
var homepage = "http://www.google.com";
browser.get(homepage);

}

FileB.js

var googleHomePage = require("./GoogleHomePage.js");
googleHomePage();

因此,直接导出函数 - 无需将其包装在奇怪的 var GoogleHomePage = function (){ ... } 构造中。

如果您想要导出 GoogleHomePage 中的多个内容,您可以导出具有如下属性的对象:

GoogleHomePage.js:

module.exports = {
Home: function() {
var homepage = "http://www.google.com";
browser.get(homepage);
},

SomethingElse: function() {
// ...
}
};

然后 FileB.js 看起来像:

var googleHomePage = require("./GoogleHomePage.js");
googleHomePage.Home();

或者你可以这样做:

var home = require("./GoogleHomePage.js").Home;
home();

关于javascript - 如何使 Node 导出正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30945136/

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