带有默认参数的模块导出

问题描述

我正在尝试在 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 
    }
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...