--input-type 标志
作为参数传给 --eval
(或 -e
),或通过 STDIN
管道传输到 node
的字符串,在设置 --input-type=module
标志时被视为 ES 模块。
node --input-type=module --eval "import { sep } from 'node:path'; console.log(sep);"
echo "import { sep } from 'node:path'; console.log(sep);" | node --input-type=module
为了完整起见,还有 --input-type=commonjs
,用于显式地将字符串输入作为 CommonJS 运行。
如果未指定 --input-type
,这是默认行为。
Strings passed in as an argument to --eval
(or -e
), or piped to node
via
STDIN
, are treated as ES modules when the --input-type=module
flag
is set.
node --input-type=module --eval "import { sep } from 'node:path'; console.log(sep);"
echo "import { sep } from 'node:path'; console.log(sep);" | node --input-type=module
For completeness there is also --input-type=commonjs
, for explicitly running
string input as CommonJS. This is the default behavior if --input-type
is
unspecified.