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
}
主.js
const justExport = require('./justExport.js')
const tmp = require('./tmp.js')
console.log('Hello World!')
我自愿用更少的代码创建了一个假例子。
{ ...require('./justExport') }
是对象文字传播。虽然{ require('./justExport') }
对象文字语法不正确,因为它不包含键。
除非目的是创建模块justExport
浅拷贝,否则不需要对象文本。它可以是:
module.exports = require('./justExport');
为了进一步澄清@estus的答案,请注意,由于 ES6 速记属性名称,以下工作:
const justExport = require('./justExport');
module.exports = {
...justExport, // works
justExport // works because key is implicitly defined by variable name
}