问题描述
我正在尝试在 Node.js 中导出一个模块,其中包含一些函数。其中一个函数具有可选参数,其中包括默认值。
module.exports = {
foo = (a,b = 2,c = {y:0}) => {
// Code
},bar = () => {
// Codes
},}
函数在未导出时工作。移入 module.exports
时,发生以下错误:
SyntaxError: Invalid shorthand property initializer
at Module._compile (internal/modules/cjs/loader.js:723:23)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (/<link to this file>:2:62)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (/<link to server.js file>:20:18)
我知道可以在函数代码中默认参数。仍然,括号中的默认参数在 module.exports
中不起作用吗?任何帮助修复它?谢谢。
解决方法
您的对象符号不正确:
将 foo = () => {}
改为 foo: () => {}
module.exports = {
foo: (a,b = 2,c = {y:0}) => {
// Code
},bar: () => {
// Codes
}
}