【问题标题】: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 中不起作用吗?任何帮助修复它?谢谢。

【问题讨论】:

    标签: node.js parameters module-export


    【解决方案1】:

    你的对象符号不正确:

    foo = () =&gt; {} 更改为foo: () =&gt; {}

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-27
      • 1970-01-01
      • 2019-06-20
      • 2018-05-16
      • 2017-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多