我最近开始探索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();
我正在查看bundle.js
browserify 生成的文件,我可以找到上面提到的确切代码块,我认为节点进程是使用此代码和一些绑定启动的。我希望script.js
文件是动态的,以允许用户在 LED 上使用不同的引脚或任何其他小的变化。由于我没有更改此文件的任何依赖项,因此我应该能够用文件bundle.js
的新内容替换该块,script.js
因为其他模块已经加载并捆绑在bunndle.js
右侧?
我想知道这在浏览器设置中是否可行。Chrome 应用程序允许文件存储,所以我bundle.js
可以在初始创建后动态生成,我只需插入 HTML 文件的内容script.js
并加载bundle.js
到 HTML 文件中?我该怎么做?
虽然这个问题并不特定于 Cylon,但我仍然将它添加为我的特定用例的标签。