「node:」前缀是指附加在Node的核心模块名称前面的内容,在中文中的含义是什么?

这是什么?

Node.js 18已经发布了,是吧!

 

在变更中,可能会添加名为node:test的核心模块,但我一开始就不知道node是什么,所以我做了一下调查。

节点是什么?

在使用require / import导入Node.js的核心模块时,可以添加node:前缀来明确它是Node的核心模块。类似于以下的用法。

// 以下2つは同じ
const fs = require("fs");
const fs = require("node:fs");
// 以下2つは同じ
import fs from "fs";
import fs from "node:fs";

可以为 Node.js 的核心模块添加,加上 node: 或者不加都不会影响其运行。

另外,据了解,Node.js 14 的次要版本升级似乎增加了 node: 前缀。

 

节点:应该给它加上前缀吗?

如果有结论的话,最好还是提供一个。

这项更改说明了 node:test 是 Node.js 18 中包含的一个核心模块,需要使用 node: 前缀。

https://nodejs.org/ja/blog/release/v18.0.0/

node:test模块有助于创建以TAP格式报告结果的JavaScript测试。要使用它,请使用以下方式导入:
import test from ‘node:test’;
该模块仅在node:协议下可用。

考虑到未来可能会出现更多像node:test这样的模块,现在开始熟悉一下可能是个不错的选择。

最后

通过我的调查,我发现”node:”前缀好像已经存在了很久,这让我感到惊讶。
希望通过这次的”node:test”,它能够更广泛地传播下去。

参考文献

    • Node.js 18 リリースについて

https://nodejs.org/ja/blog/announcements/v18-release-announce/
https://nodejs.org/ja/blog/release/v18.0.0/

node:プレフィックス追加について

https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V14.md#2021-09-28-version-14180-fermium-lts-targos
https://github.com/nodejs/node/issues/36098

require.cacheの動作について

https://nodejs.org/dist/latest-v18.x/docs/api/modules.html#requirecache

广告
将在 10 秒后关闭
bannerAds