解决在Chrome中运行的Tensorflow JS解决“未捕获(承诺)TypeError:fs.​​writeFile不是函数”的另一种方法

时间:2019-04-06 22:23:12

标签: javascript node.js typescript tensorflow tensorflow.js

我一直在尝试在下面的代码片段中在chrome浏览器中运行的tensorflowposenet模型中导出变量。但是,通读讨论,似乎无法在chrome浏览器中使用fswritefile导出变量。我想知道是否还有其他可能的方法可以导出到json文件?如果有人管理了它?

export function drawKeypoints(keypoints, minConfidence, ctx, scale = 1) {
  for (let i = 0; i < keypoints.length; i++) {
    const keypoint = keypoints[i];

    if (keypoint.score < minConfidence) {
      continue;
    }

    const {y, x} = keypoint.position;
    drawPoint(ctx, y * scale, x * scale, 3, color);
  }
  //console.log(keypoints);
 let test = JSON.stringify(keypoints);
 fs.writeFile('extract.json', test, (err) => {  
  if (err) throw err;
  console.log('Data written to file');
});

2 个答案:

答案 0 :(得分:0)

fs是nodejs特定的模块。无法在浏览器中使用。 将Blob保存到文件是在浏览器环境中写入文件的标准方式

答案 1 :(得分:0)

Fs是Node.js / commonJS模块,您需要一个等效的基于浏览器的ES6支持的模块。根据我的个人经验,我必须在browserfsbrowserify-fsfs-es6之类的浏览器中使用Fs包装器作为解决方法。