1

简单地说:我如何制作 a require()of a require (),然后使用 an exportsof an将数据恢复为原始数据exports

这是一个实际的例子:

我的hello.js文件:

var text = "Hello world!"
exports.text

在同一个文件夹中,我有foo.js文件:

var hello = require("./hello.js")
exports.hello

最后,我的app.js文件(也在同一个文件夹中):

var foo = require("./foo.js")
console.log(foo.hello.text)

我期待它回来:

Hello world!

但相反,它返回一个错误:

/Users/Hassinus/www/node/test/app.js:2
console.log(foo.hello.text)
                     ^
TypeError: Cannot read property 'text' of undefined
at Object.<anonymous> (/Users/Hassen/www/node/test/app.js:2:22)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.runMain (module.js:492:10)
at process.startup.processNextTick.process._tickCallback (node.js:244:9)

有什么帮助吗?这种情况并没有那么棘手:我想将我的脚本分组到一个文件夹中,其中包含一个唯一的入口脚本,它将调用其他各种文件中的函数。

提前致谢。

4

1 回答 1

4

您没有在导出上设置任何值。你必须做类似exports.text = text的事情,否则出口没有价值

你好.js

var text = "Hello world!";
exports.text = text;

foo.js 文件:

var hello = require("./hello.js");
exports.hello = hello;

app.js 文件

var foo = require("./foo.js");
console.log(foo.hello.text);
于 2013-02-25T13:18:52.167 回答