gjo*_*joe 4 javascript function node.js module.exports
我在 NodeJS 中使用 module.exports 时遇到了一些问题,并且我遵循了多个指南,并且我几乎可以肯定我做得正确。我必须脚本、main.js 和 event.js。我试图将 main.js 的函数共享到 event.js,但它不起作用。这是代码:
Main.js
function Scan(){
if(fs.readdirSync('./events/').length === 0){
console.log(colors.yellow('Events Folder Empty, Skipping Scan'))
} else {
var events = fs.readdirSync('./events/').filter(file => file.endsWith('.json'))
for(const file of events){
let rawdata = fs.readFileSync('./events/' + file);
let cJSON = JSON.parse(rawdata);
}
events.sort()
tevent = events[0]
StartAlerter()
}
}
module.exports = { Scan };
Run Code Online (Sandbox Code Playgroud)
事件.js
const main = require('../main')
main.Scan;
Run Code Online (Sandbox Code Playgroud)
这会返回错误:
(node:19292) Warning: Accessing non-existent property 'Scan' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
小智 7
我发现这种安排对错误没有任何影响。
我只是改变了从 Main.js 导出函数的方式
从:
module.exports = { Scan };
Run Code Online (Sandbox Code Playgroud)
到:
exports.Scan = Scan
Run Code Online (Sandbox Code Playgroud)
在 Event.js 中,我能够像这样访问该文件
const main = require("./Main.js");
let result = main.Scan();
Run Code Online (Sandbox Code Playgroud)
这解决了我的问题,我希望它可以帮助其他开发人员
| 归档时间: |
|
| 查看次数: |
34372 次 |
| 最近记录: |