如何导出和导入默认函数

how to export and import default function

我有一个文件定义了一个“默认”函数,我想将其导入其他文件:

HelloLog.js:

exports.default = (str) => {
    console.log(`Hello, logging ${str}!`);
}

Client.js:

const HelloLog = require('./HelloLog');

HelloLog.default("foobar"); // do not want

// I'd rather just do this:
HelloLog("foobar")

事实上,如果我像上面的第二次调用那样操作,我会得到一个错误。

问题是:我应该如何更改 HelloLog.js 以便文件 Client.js 上的第二个选项起作用?

这应该有效

HelloLog.js:

exports.HelloLog = (str) => {
    console.log(`Hello, logging ${str}!`);
}

Client.js:

const { HelloLog } = require('./HelloLog');

使用 CommonJS Nodejs Docs

导出一个模块:
HelloLog.js :

module.exports = (str) => {
    console.log(`Hello, logging ${str}!`);
}

Client.js :

const HelloLog = require('./HelloLog');

HelloLog("foobar")

使用 ECMAScript MDN Docs Nodejs Docs

HelloLog.js :

// Default exports choose any
export default expression;
export default function (…) { … } // also class, function*
export default function name1(…) { … } // also class, function*
export { name1 as default, … };

Client.js :

import HelloLog from './HelloLog';

HelloLog("foobar")

  • 不能混合使用 CommonJS 和 ECMAScript。

或者这个。

module.exports = (str) => {
  console.log(`Hello, logging ${str}!`);
}
const HelloLog = require('./HelloLog');

HelloLog("foobar");

您正在为导出命名 default。 试试这个:

export default (str) => {...}