错误:fs.readFileSync不是函数

时间:2017-02-25 22:34:18

标签: javascript node.js arduino browserify

我正在尝试通过我正在制作的Chrome应用将一个hex文件闪存到Arduino。我使用了下面的基本NodeJS代码,并使用browserify对其进行转换,以便它可以在浏览器中使用。它没有用,我在控制台中收到一条错误,声称' TypeError:fs.​​readFileSync不是函数'

var Avrgirl = require('avrgirl-arduino');

var avrgirl = new Avrgirl({
  board: 'uno'
});

avrgirl.flash('Blink.cpp.hex', function (error) {
  if (error) {
    console.error(error);
  } else {
    console.info('done.');
  }
});

1 个答案:

答案 0 :(得分:1)

您无法在浏览器中运行此类代码(即使使用browserify)。您应该在node.js中运行它。

我猜你的错误来自于:

avrgirl.flash('Blink.cpp.hex', ...)

因为您传递的是文件名,该函数可能正在尝试读取该文件。

browserify无法神奇地为浏览器提供其无法读取的功能,例如从硬盘驱动器读取文件或与arduino硬件通信。此代码可能意味着在node.js环境中运行。

avrgirl-arduino模块的instructions,非常明确地说明你应该在node.js中运行。