node.js - 带默认参数的模块导出
问题描述
我正在尝试在 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
}
}
推荐阅读
- javascript - 使用带有钩子的反应原生选择器
- server - AG Grid 服务器端模型 - 在服务器端 ag 网格模型中可以呈现的最大记录数是多少?
- python - 用现有实例初始化超级?
- python - 是否有更简洁的方法可以将 10 个或更多值的列表传递给 python2.7 中的类及其函数并执行它们?
- android - Build.gradle 文件损坏
- python - 无法从“bokeh.plotting”导入名称“Scatter”
- c# - Web Api - 正文数据序列化问题出现空值到未使用的 DTO 属性
- python - 在 Python 中解析 JSON 数据
- elasticsearch - 大半径的 Elasticsearch 地理距离查询优先级
- c# - 读取 2 个唯一字符串之间的行,将它们附加到 XDocument