首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么module.export { ...require('module') }有效,而module.export {module.export(‘module’)}无效

为什么module.export { ...require('module') }有效,而module.export {module.export(‘module’)}无效
EN

Stack Overflow用户
提问于 2019-01-06 00:11:40
回答 2查看 38关注 0票数 1

justExport.js

代码语言:javascript
复制
const first = () => {
  console.log('frist from justExport')
}

const second = () => {
  console.log('second fromt justExport')
}

module.exports = {
  first,
  second,
}

tmp.js

代码语言:javascript
复制
module.exports = {
  ...require('./justExport') // work
  require('./justExport') // SyntaxError: Unexpected string
}

main.js

代码语言:javascript
复制
const justExport = require('./justExport.js')
const tmp = require('./tmp.js')

console.log('Hello World!')

我自愿用不太可能的代码创建了一个假的例子。

EN

回答 2

Stack Overflow用户

发布于 2019-01-06 01:00:12

{ ...require('./justExport') }object literal spread。而{ require('./justExport') }是不正确的对象文字语法,因为它不包含键。

除非意图是创建justExport模块的浅层副本,否则不需要对象文字。它可以是:

代码语言:javascript
复制
module.exports = require('./justExport');
票数 2
EN

Stack Overflow用户

发布于 2019-01-06 01:13:15

为了进一步阐明来自@estus的答案,请注意以下工作是由于ES6 shorthand property names

代码语言:javascript
复制
const justExport = require('./justExport');

module.exports = {
  ...justExport, // works
  justExport // works because key is implicitly defined by variable name
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54053775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档