在 deno 中,我可以知道我的脚本是直接运行还是由另一个脚本加载?

Tho*_*ggi 3 deno

节点中的并行:我可以知道,在 Node.js 中,我的脚本是直接运行还是由另一个脚本加载?

我正在寻找一种方法来判断 deno 脚本是直接运行还是由另一个模块导入。这在 deno 中可能吗?如果是这样怎么办?

Mar*_*nde 7

您必须使用import.meta.main才能知道脚本是否是入口点。

main.js

import child from './child.js';

console.log('Main', import.meta.main);
Run Code Online (Sandbox Code Playgroud)

孩子.js

export default 'foo';
console.log('child', import.meta.main);
Run Code Online (Sandbox Code Playgroud)

现在当你执行:

deno run main.js
Run Code Online (Sandbox Code Playgroud)

你会得到:

child: false
Main: true
Run Code Online (Sandbox Code Playgroud)