簡體   English   中英

如何導出和導入默認函數

[英]how to export and import default function

我有一個文件定義了一個“默認”函數,我想將它導入到另一個文件中:

HelloLog.js:

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

客戶端.js:

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

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

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

事實是,如果我像在上面的第二個調用中那樣做,我會得到一個錯誤。

問題是:我應該如何更改 HelloLog.js 以便文件 Client.js 上的第二個選項可以工作?

使用CommonJS Nodejs 文檔

導出一個模塊:
HelloLog.js :

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

客戶端.js:

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

HelloLog("foobar")

使用ECMAScript MDN 文檔Nodejs 文檔

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, … };

客戶端.js:

import HelloLog from './HelloLog';

HelloLog("foobar")

  • CommonJS 和 ECMAScript 不能混用。

或這個。

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

HelloLog("foobar");

這應該工作

HelloLog.js:

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

客戶端.js:

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

您將導出default命名為 . 嘗試這個:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM