node21: 由于 node-fetch/whatwg-url 引起的一个 warning

解决一个烦人的 warning
更新于: 2024-01-19 20:33:47

场景

The `punycode` module is deprecated.

产生的原因

  • node-fetch
  • whatwg-url: 根本原因是这个模块
    at Object.<anonymous> (/Users/a7/github/ip-sync/node_modules/whatwg-url/lib/public-api.js:3:15)
    at Module._compile (node:internal/modules/cjs/loader:1375:14)
    at Module._compile (/Users/a7/github/ip-sync/node_modules/pirates/lib/index.js:117:24)
    at Module._extensions..js (node:internal/modules/cjs/loader:1434:10)
    at Object.newLoader [as .js] (/Users/a7/github/ip-sync/node_modules/pirates/lib/index.js:121:7)
    at Module.load (node:internal/modules/cjs/loader:1206:32)
    at Function.Module._load (node:internal/modules/cjs/loader:1022:12)
    at Module.require (node:internal/modules/cjs/loader:1234:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/Users/a7/github/ip-sync/node_modules/node-fetch/lib/index.js:10:33)

解决

移除 node-fetch 模块,用 node 原生的模块代替。

另外: node18 全局引入了 fetch 模块。

参考