Вы должны использовать import fs from 'fs'
, а не import * as fs from 'fs'
.
Это потому, что ( хотя бы с точки зрения файлов mjs ) модуль 'fs'
экспортирует только одинвещь, которая называется default
.Поэтому, если вы пишете import * as fs from 'fs'
, fs.default.readFile
существует, а fs.readFile
- нет.Возможно, то же самое относится ко всем модулям Node.js (CommonJS).
В модулях TypeScript (с выводом @ types / node и ES5), вызывающих путаницу, import fs from 'fs'
выдает ошибку
error TS1192: Module '"fs"' has no default export
поэтому в TypeScript вы должны написать import * as fs from 'fs';
по умолчанию.Похоже, что это может быть изменено в соответствии с тем, как работают файлы mjs, используя новую опцию "esModuleInterop": true
в tsconfig.json.