2017-02-25 349 views
0

我想通过我正在制作的Chrome应用程序将十六进制文件闪存到Arduino。我使用了下面的基本NodeJS代码,并使用browserify转换它,以便它可以在浏览器中工作。它不工作,我得到一个错误控制台说“类型错误:fs.readFileSync不是一个函数”错误: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.'); 
    } 
}); 
+0

'fs'模块在浏览器中不可用。 – jfriend00

+0

我在哪里使用它? –

+0

可能在'avrgirl.flash()'里面,因为你传递了一个文件名。你不能在浏览器中运行这种代码。你应该在node.js中运行它。对于浏览器中不存在的低级功能,browserify不会产生魔术效果。 – jfriend00

回答

1

不能在浏览器中运行这种类型的代码(甚至browserify )。你应该在node.js中运行它。

我猜想,你的错误是从内部发出:

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

因为你传递的文件名和功能可能试图读取该文件。

browserify不能神奇地给浏览器的权力,否则它不会有如从您的硬盘驱动器读取文件或与arduino硬件通信。此代码可能意味着要在node.js环境中运行。

instructionsavrgirl-arduino模块,很清楚说明你应该在node.js中运行。