我从 main.js 导出模块时做错了什么?
What am I doing wrong in my module export from main.js?
学习如何开发模块 我正在尝试学习如何从 main.js 导出一个模块。在我的 renderer 上,我可以通过以下方式将其正确发送到 main:
renderer.js:
let _object = {
foo: foo1,
bar: bar1,
}
ipcRenderer.send('channel', _object)
在main.js中我可以正确理解:
ipcMain.on('channel', (e, res) => {
console.log(JSON.stringify(res))
console.log(typeof res)
})
然而,当我从 main.js 导出 result
并尝试将其导入另一个文件时,我得到一个 undefined
:
main.js:
const foobar = require('./foobar')
ipcMain.on('channel', (e, res) => {
console.log(JSON.stringify(res))
console.log(typeof res)
module.exports.res = res
foobar.testing()
})
foobar.js:
const res = require('./main')
module.exports = {
testing: function(res) {
console.log(`Attempting console.log test: ${res}`)
console.log(res)
console.log(JSON.stringify(res))
}
}
最终结果:
Attempting console.log test: undefined
undefined
undefined
我也尝试过重新定义 main.js:
中的对象
ipcMain.on('channel', (e, res) => {
module.exports = {
foo: foo,
bar: bar,
}
console.log(`Testing object ${res.foo}`)
foobar.testing()
})
我的研究参考:
我在 main.js 中导出 result
时做错了什么,所以我可以在不同的文件中使用它?
编辑:
我的最终目标是学习如何在 foobar.js.
中调用 res.foo
首先,您的 testing
函数中有一个参数 res
,它隐藏了导入。其次,导入的 res
对象是 main
的所有导出,其中包括您需要的 res
- 因此您应该打印 res.res
而不是整个对象。
Foobar.js:
const res = require('./main')
module.exports = {
testing: function() {
console.log(`Attempting console.log test: ${res.res}`)
console.log(res.res)
console.log(JSON.stringify(res.res))
}
}
最后一个版本(您重新分配 module.exports
)将不起作用,因为 foobar
仍将具有原始导出,这是一个空对象。
学习如何开发模块 我正在尝试学习如何从 main.js 导出一个模块。在我的 renderer 上,我可以通过以下方式将其正确发送到 main:
renderer.js:
let _object = {
foo: foo1,
bar: bar1,
}
ipcRenderer.send('channel', _object)
在main.js中我可以正确理解:
ipcMain.on('channel', (e, res) => {
console.log(JSON.stringify(res))
console.log(typeof res)
})
然而,当我从 main.js 导出 result
并尝试将其导入另一个文件时,我得到一个 undefined
:
main.js:
const foobar = require('./foobar')
ipcMain.on('channel', (e, res) => {
console.log(JSON.stringify(res))
console.log(typeof res)
module.exports.res = res
foobar.testing()
})
foobar.js:
const res = require('./main')
module.exports = {
testing: function(res) {
console.log(`Attempting console.log test: ${res}`)
console.log(res)
console.log(JSON.stringify(res))
}
}
最终结果:
Attempting console.log test: undefined
undefined
undefined
我也尝试过重新定义 main.js:
中的对象ipcMain.on('channel', (e, res) => {
module.exports = {
foo: foo,
bar: bar,
}
console.log(`Testing object ${res.foo}`)
foobar.testing()
})
我的研究参考:
我在 main.js 中导出 result
时做错了什么,所以我可以在不同的文件中使用它?
编辑:
我的最终目标是学习如何在 foobar.js.
中调用res.foo
首先,您的 testing
函数中有一个参数 res
,它隐藏了导入。其次,导入的 res
对象是 main
的所有导出,其中包括您需要的 res
- 因此您应该打印 res.res
而不是整个对象。
Foobar.js:
const res = require('./main')
module.exports = {
testing: function() {
console.log(`Attempting console.log test: ${res.res}`)
console.log(res.res)
console.log(JSON.stringify(res.res))
}
}
最后一个版本(您重新分配 module.exports
)将不起作用,因为 foobar
仍将具有原始导出,这是一个空对象。