如何导出和导入默认函数
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) => {...}
我有一个文件定义了一个“默认”函数,我想将其导入其他文件:
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) => {...}