我最近开始探索Browserify来捆绑Node模块并在浏览器中使用它们。它整洁而且效果很好,但是我想要改进工作流程。在我的用例中,我有一个script.js
文件,需要Cylon等节点模块。
为简洁起见,script.js
看起来像:
"use strict";
var Cylon = require('cylon');
Cylon.robot({
name: "BrowserBot",
connections: {
arduino: { adaptor: 'firmata', port: '/dev/tty.usbmodem1411' }
},
devices: {
led: { driver: 'led', pin: 8 }
},
work: function(my) {
Cylon.Logger.info("Hi, my name is " + my.name)
every((2).seconds(), function() {
Cylon.Logger.info("Toggling the LED");
my.led.toggle();
});
}
});
Cylon.start();
我正在查看browserify生成的bundle.js
文件,我可以找到上面提到的确切代码块,我认为节点进程是使用此代码和一些绑定启动的。我希望script.js
文件是动态的,以允许用户在LED上使用不同的引脚或任何其他小的变化。由于我没有更改此文件的任何依赖项,因此我应该能够使用bundle.js
文件的新内容替换script.js
中的该块,因为其他模块已经加载并捆绑在{{ 1}}对吗?
我想知道这是否可以在浏览器设置中使用。 Chrome应用允许file Storage,因此我可以在初始创建后动态生成bunndle.js
,我只需插入bundle.js
的内容并在HTML中加载script.js
文件?我该怎么做?
虽然问题不是针对Cylon的,但我仍然将其添加为我特定用例的标签。