首页 > 解决方案 > 带默认参数的模块导出

问题描述

我正在尝试在 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?任何帮助修复它?谢谢。

标签: node.jsparametersmodule-export

解决方案


您的反对符号不正确:

更改foo = () => {}foo: () => {}

module.exports = {
    foo: (a, b = 2, c = {y:0}) => {
        // Code
    },
    bar: () => { 
        // Codes 
    }
}

推荐阅读