带默认参数的模块导出
Posted
技术标签:
【中文标题】带默认参数的模块导出【英文标题】:Module export with default parameters 【发布时间】:2021-05-28 19:29:02 【问题描述】:我正在尝试在 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
中不起作用吗?任何帮助修复它?谢谢。
【问题讨论】:
【参考方案1】:你的对象符号不正确:
将foo = () =>
更改为foo: () =>
module.exports =
foo: (a, b = 2, c = y:0) =>
// Code
,
bar: () =>
// Codes
【讨论】:
以上是关于带默认参数的模块导出的主要内容,如果未能解决你的问题,请参考以下文章