问题产生原因

很有可能是 node 版本太低导致的。

node 13 及以下版本的 fs promises CommonJS 规范的引用方式:

1
2
const fs = require('fs').promises
const { promises: fs } = require('fs')

node 14 及以上版本支持的 fs promises CommonJS 规范的引用方式:

1
const fs = require('fs/promises')

解决方案

1. 升级 node 版本至 14 及以上。

Win7 及以下版本不支持 node 14 及以上版本,所以此方法在 Win7 及以下系统版本不适用。

2. 修改引用方式

将所有 fs promises 的引用方式修改为 13 版本的方式。

1
2
3
4
5
// node <= 13.x
const fs = require('fs').promises
const { promises: fs } = require('fs')
// node >= 14.x 支持
const fs = require('fs/promises')