【发布时间】:2020-06-04 11:58:46
【问题描述】:
如何编写可以从命令行或通过 ES6 导入语句运行的 Node 脚本?
我正在使用 --experimental-modules 标志和 .mjs 扩展来将脚本作为 ES6 模块运行。
示例
假设我在sayHello.mjs 中有以下脚本:
export default function sayHello() {
console.log(`Hello!`);
}
我希望能够通过以下两种方式使用此脚本:
-
通过命令行:
node --experimental-modules sayHello.mjs -
通过另一个脚本中的 ES6 导入语句:
import sayHello from './sayHello.mjs'; sayHello();
详情
我正在寻找类似于对 CommonJS 模块使用 module.main 的解决方案(这不适用于 ES6 导入):
if (require.main === module) {
console.log('run from command line');
} else {
console.log('required as a module');
}
【问题讨论】:
标签: javascript node.js node-modules es6-modules