我在查看节点官方文档时发现,es模块示例中节点原生模块的导入url以node:
开头。
我不太使用节点,可能有一些巨大的变化发生了。所以:
1.有人能分享一些链接,我可以得到一些关于这一变化的背景?
1.如果我们不在导入url之前添加node:
呢?我测试了一下,似乎一切都很好。
多谢了。
import { open } from 'node:fs/promises';
let filehandle;
try {
filehandle = await open('thefile.txt', 'r');
} finally {
await filehandle?.close();
}
我编写了一些节点包,并在pacakge.json
中使用"type": "module"
,而在导入本机模块时不使用node:
,我没有看到任何错误。
1条答案
按热度按时间i7uq4tfw1#
来自文档:
核心模块可以使用
node:
前缀来标识,在这种情况下,它会绕过require
缓存。例如,require('node:http')
将始终返回内置的HTTP模块,即使存在使用该名称的require.cache
条目。