如何修复导入 Node.js 内置模块时使用 Node: 协议时出现的 eslint 错误

Nic*_*mer 9 javascript protocols node.js eslint

.eslintrc请指导我根据我的情况应该写什么。

https://github.com/nodejs/node/issues/38343
https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-node-protocol.md

如果我否认这条规则,我会得到错误:

import path from "path"; // ESLint: Prefer `node:path` over `path`.(unicorn/prefer-node-protocol)
Run Code Online (Sandbox Code Playgroud)

否则我得到这个错误:

import path from "node:path"; // ESLint: Unable to resolve path to module 'node:path'.(import/no-unresolved)
Run Code Online (Sandbox Code Playgroud)

我想使用这两个规则。但我无法想象要写下什么才能让 linter 理解它node:pathpath. 为此文件启用节点环境:

"env": {
  "node": true
}
Run Code Online (Sandbox Code Playgroud)

node -v -> v14.16.1

Reb*_*ens 5

目前您需要节点 16 才能使用“node:”前缀。

支持将向后移植到节点 14 和 12,但(在撰写本文时)这些向后移植尚未发布。

节点 14.18.0 应该包含向后移植(查看此提交)。