gpt4 book ai didi

javascript - 如何使用 Node 在 javascript 中运行两个文件?

转载 作者:行者123 更新时间:2023-11-28 21:29:46 24 4
gpt4 key购买 nike

我是 javascript 和 Node.js 的新手,在测试我最近编写的一些代码时遇到了问题。我正在尝试使用 Node.js 测试在名为“compareCrowe.js”的文件中使用“testCrowe.js”编写的代码。

这里是testCrowe.js的内容:

var compareCrowe = required['./compareCrowe'];
console.log('begin test');
var connection = {Type:1, Label:"label", linkTo:null};
var table1 = {name:"table1", body:"description1", out:[connection]};
var table2 = {name:"table2", body:"description2", out:null};
connection.linkTo = table2;
var crowe = [table1, table2];
var result = compareCrowe.compareCrowesFoot(crowe, crowe);
console.log(result.feedback);

在 compareCrowe.js 中定义了函数“compareCrowesFoot”。从我运行的 Ubuntu 虚拟机的控制台:

node compareCrowe.js testCrowe.js

然而,什么也没有打印出来。没有任何错误、警告或解释。它甚至没有打印我放在 testCrowe.js 顶部的“开始测试”行。如果我运行命令:

node testCrowe.js

它提示 compareCrowesFoot 未定义。如何测试 compareCrowe.js 的内容?

最佳答案

欢迎来到JS的派对。

我不确定您是从哪里学习的,但一些对我和其他许多人有帮助的资源是 superherojs.com , nodeschool.io , MDN developer docs , Node.js API docs和 Youtube(认真)。

Node.js 的基本思想是它与 modules 一起运行。 (可重用代码块),这就是 NPM由。。。制成由。。。做成。然后可以将它们包含在其他模块中,并在您的应用程序的任何其他地方使用。

所以对于一个基本示例,假设您有 compareCrowe.js,要使其在另一个文件中可包含/可重用,您可以编写如下内容:

module.exports = function() { 
var compareCrowesFoot = function(crowe1, crowe2) { /* compare crows feet and return something here */ }

return { compareCrowesFoot: compareCrowesFoot };
// return an object with a property of whatever you want to access it as , and the value as your function name
// e.g. - you could return { compare: compareCrowesFoot };
}


然后在 testCrowe.js 中,您可以像这样要求 compareCrowe:

var compareCrowe = require("./compareCrowe");

/* your code here... */
var result = compareCrowe.compareCrowesFoot(crowe1, crowe2);
// if your returned object was { compare: compareCrowesFoot };
// this would be compareCrowe.compare(crowe1, crowe1);


要运行测试,您可以从命令行运行 node testCrowe.js

关于javascript - 如何使用 Node 在 javascript 中运行两个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27208983/

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