在终端中,我导航到包含文件WordManager.js
的目录。从那里,我输入node
进入交互式外壳,然后输入require("./WordManager.js")
。结果为{}
。 WordManager.js
的内容是
class WordManager
{
// ...
}
我在网上发现了有关我应该如何导出的确切信息,但是我尝试了所有可能的方法,但没有任何效果。我尝试过exports.WordManager = class WordManager { ... }
,我尝试过module.exports.WordManager
,我尝试过export default
...
如何获得所需的行为-从交互式外壳访问WordManager类?
答案 0 :(得分:0)
使用Node时,必须声明模块的导出。
例如,在您的文件中,要导出WordManager
,您需要将其分配给module.exports
:
class WordManager {
// ...
}
module.exports = WordManager
require()
将从所需模块返回module.exports
的值。请注意,如果要导出多个值,可以通过将它们作为属性附加到module.exports
来实现:
class WordManager {
// ...
}
class SpellChecker {
// ...
}
module.exports.WordManager = WordManager
module.exports.SpellChecker = SpellChecker
导出多个导出时,这可能会有些罗y,因此module.exports
在模块范围内被别名为exports
,因此您可以执行以下操作:
exports.WordManager = WordManager
exports.SpellChecker = SpellChecker
警告语exports
可以被覆盖,但不会更新值或module.exports
,因此以下操作将不起作用:
// Does not work
exports = WordManager
希望有帮助。