a974332738
A默苍离
采纳率70.6%
2020-08-01 08:57

关于node.js export 的问题

已采纳

main.js

var fooExports = require('./foo')
console.log(fooExports.foo)
console.log(fooExports)

foo.js

var foo = 'bar'

function add(x, y) {
  return x + y
}

module.exports.foo = '挂载:hello'

module.exports = 'hello' 


module.exports = function (x, y) {   
  return x + y
}

module.exports = {  
    return x + y
  },
  str: 'hello'
}

//module.exports.foo = '挂载:hello'

执行结果:

undefined
{ add: [Function: add], str: 'hello' }

main.js

var fooExports = require('./foo')
console.log(fooExports.foo)
console.log(fooExports)

foo.js

var foo = 'bar'

function add(x, y) {
  return x + y
}

module.exports.foo = '挂载:hello'

module.exports = 'hello' 


module.exports = function (x, y) {   
  return x + y
}

module.exports = {  
    return x + y
  },
  str: 'hello'
}

module.exports.foo = '挂载:hello'

执行结果:

挂载:hello
{ add: [Function: add], str: 'hello', foo: '挂载:hello' }

为什么第一次执行结果会出现 undefined?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • jingluan666 jingluan666 9月前

    上面的module.exports被定义多次(多次赋值),那么就以最后的一次为准

    点赞 评论 复制链接分享

相关推荐