Error: fs.readFileSync is not a function
Error: fs.readFileSync is not a function
我正在尝试通过我正在制作的 Chrome 应用程序将十六进制文件闪存到 Arduino。我使用了下面的基本 NodeJS 代码,并使用 browserify 对其进行了转换,以便它可以在浏览器中运行。它不起作用,我在控制台中收到一条错误消息 'TypeError: fs.readFileSync is not a function'
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.');
}
});
您不能在浏览器中 运行 这种类型的代码(即使使用 browserify)。您应该 运行 在 node.js.
中使用它
我猜你的错误来自于:
avrgirl.flash('Blink.cpp.hex', ...)
因为您传递的是文件名并且该函数可能正在尝试读取该文件。
browserify
不能神奇地赋予浏览器一些它原本不会拥有的能力,例如从硬盘驱动器读取文件或与 arduino 硬件通信。此代码可能意味着 运行 在 node.js 环境中。
avrgirl-arduino
模块的 instructions,非常清楚地说明您应该 运行ning 在 node.js。
我知道这已经很老了但是:Noopkat 制作了一个 avrgirl 演示,它使用 webserial 从浏览器刷入 board!看看这个。 https://github.com/noopkat/avrgirl-arduino/tree/master/tests/demos/webserial
我正在尝试通过我正在制作的 Chrome 应用程序将十六进制文件闪存到 Arduino。我使用了下面的基本 NodeJS 代码,并使用 browserify 对其进行了转换,以便它可以在浏览器中运行。它不起作用,我在控制台中收到一条错误消息 'TypeError: fs.readFileSync is not a function'
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.');
}
});
您不能在浏览器中 运行 这种类型的代码(即使使用 browserify)。您应该 运行 在 node.js.
中使用它我猜你的错误来自于:
avrgirl.flash('Blink.cpp.hex', ...)
因为您传递的是文件名并且该函数可能正在尝试读取该文件。
browserify
不能神奇地赋予浏览器一些它原本不会拥有的能力,例如从硬盘驱动器读取文件或与 arduino 硬件通信。此代码可能意味着 运行 在 node.js 环境中。
avrgirl-arduino
模块的 instructions,非常清楚地说明您应该 运行ning 在 node.js。
我知道这已经很老了但是:Noopkat 制作了一个 avrgirl 演示,它使用 webserial 从浏览器刷入 board!看看这个。 https://github.com/noopkat/avrgirl-arduino/tree/master/tests/demos/webserial