justExport.js
const first = () => {
console.log('frist from justExport')
}
const second = () => {
console.log('second fromt justExport')
}
module.exports = {
first,
second,
}
tmp.js
module.exports = {
...require('./justExport') // work
require('./justExport') // SyntaxError: Unexpected string
}
main.js
const justExport = require('./justExport.js')
const tmp = require('./tmp.js')
console.log('Hello World!')
我自愿用更少的代码创建了一个伪造的示例。
答案 0 :(得分:2)
{ ...require('./justExport') }
是object literal spread。 { require('./justExport') }
是不正确的对象文字语法,因为它不包含键。
除非打算创建justExport
模块的浅表副本,否则不需要对象文字。可以是:
module.exports = require('./justExport');
答案 1 :(得分:1)
要进一步阐明@estus的答案,请注意由于ES6 shorthand property names,以下工作有效:
const justExport = require('./justExport');
module.exports = {
...justExport, // works
justExport // works because key is implicitly defined by variable name
}