我最近開始探索Browserify,用於捆綁Node模塊並在瀏覽器中使用它們。它很整潔,效果很好,但是我想要改善工作流程。在我的使用情況下,我有一個script.js
文件,需要像Cylon等如何在瀏覽器中動態創建JavaScript文件
爲了簡潔節點模塊,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應用允許file Storage,因此我可以在初始創建後動態生成bundle.js
,我只需插入script.js
的內容並在HTML文件中加載bundle.js
?我如何去做這件事?
雖然問題不是特定於Cylon,但我仍然將它作爲我的特定用例的標記添加。
不知道你的問題是什麼。這個'bundle.js'在應用中如何使用?什麼阻止你做一些接受參數的接口? – Xan
嘿@Xan! 'bundle.js'文件是通過'browserify'生成的。所以一堆節點模塊被編譯並且在那裏生存。所以,'Cylon'模塊和所有'firmata'適配器都在'bundle.js'中。但是,因爲'script.js'可以是任何與arduino有關的代碼。我不知道如何將它作爲參數構建到'bundle.js'中? –