fs.readFile()或fs.readFileSync()不是函数异常,但是为什么呢?

时间:2019-03-12 19:01:58

标签: javascript node.js typescript

我正在使用带有以下导入代码的fs模块

import fs = require('fs')

代码将一直运行,直到在下面的TypeScript代码的第二行遇到此异常

const filePath = 'data/soylent-uist2010/userSegments.json'
const seg = fs.readFileSync(filePath, {
  encoding: 'utf8',
})

但是,如果我将path的{​​{1}}参数作为原始字符串提供(如下所示),则它可以正常工作(已分配值)。

readFileSync

错误堆栈跟踪如下,

const seg = fs.readFileSync('data/soylent-uist2010/userSegments.json', {
  encoding: 'utf8',
})

更长的代码段如下所示。我怀疑Viewer.tsx:155 Uncaught (in promise) TypeError: fs.readFileSync is not a function at Viewer.<anonymous> (Viewer.tsx:155) at step (io.ts:106) at Object.next (io.ts:106) at io.ts:106 at new Promise (<anonymous>) at __awaiter (io.ts:106) at Viewer._this.loadFiles (Viewer.tsx:135) at Viewer.<anonymous> (Viewer.tsx:98) at step (io.ts:106) at Object.next (io.ts:106) 关键字(在class方法中)是否在async之前需要await关键字

fs.readFile()

1 个答案:

答案 0 :(得分:1)

因为fs没有默认导出,您需要像这样导入:

import * as fs from 'fs'