問題產生原因#
很有可能是 node 版本太低導致的。
node 13 及以下版本的 fs promises CommonJS 規範的引用方式:
const fs = require('fs').promises
const { promises: fs } = require('fs')
node 14 及以上版本支援的 fs promises CommonJS 規範的引用方式:
const fs = require('fs/promises')
解決方案#
1. 升級 node 版本至 14 及以上。#
Win7 及以下版本不支援 node 14 及以上版本,所以此方法在 Win7 及以下系統版本不適用。
2. 修改引用方式#
將所有 fs promises 的引用方式修改為 13 版本的方式。
// node <= 13.x
const fs = require('fs').promises
const { promises: fs } = require('fs')
// node >= 14.x 支援
const fs = require('fs/promises')