2016-09-18 13 views
1

最近、ノードモジュールをバンドルしてブラウザで使用するために、Browserifyを調べ始めました。それはきれいで素晴らしいですが、ワークフローの改善が必要です。私のユースケースでは、私は、簡潔にするためCylonなどブラウザでjavascriptファイルを動的に作成する方法

のようなノードモジュールを必要とscript.jsファイルを持っている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上で別のピンを使用することができるようにするか、またはその他の小さな変更をそのようにしたいと思います。このファイルの依存関係を変更していないので、他のモジュールが既にロードされており、bunndle.jsにバンドルされているので、bundle.jsのブロックをscript.jsファイルの新しい内容に置き換えるだけでいいですか?

これがブラウザ設定で可能かどうかを知りたいです。 Chromeアプリケーションではfile Storageが許可されているため、script.jsのコンテンツをプラグインして初めてbundle.jsをHTMLファイルにロードする初期作成後にbundle.jsを動的に生成することは可能ですか?これについてどうすればいいですか?

質問はサイロンに固有の問題ではありませんが、私はまだ私の特定の用途のためのタグとして追加しています。

+0

あなたの問題がわからない。この 'bundle.js'はアプリでどのように使われていますか?あなたがパラメータを受け入れるインターフェースを作るのを止めるのはどうですか? – Xan

+0

ちょっと@Xan! 'bundle.js'ファイルは' browserify'を通して生成されます。だから、ノードモジュールの束がコンパイルされてそこに住んでいます。したがって、 'Cylon'モジュールと他のすべての' firmata'アダプタのようなものはすべて 'bundle.js'にあります。しかし、 'script.js'はarduinoで何かをするコードである可能性があります。私は 'bundle.js'をパラメータとしてどのように構築するのかよく分かりません。 –

答えて

0

すべての.jsファイルは、Apps manifest.jsonで指定する必要があります。私はあなたがアプリケーションのフォルダから項目を編集することはできません(ファイルストレージを介してアクセスする場合でも)

+0

私の問題を理解できたことを願っています。 chrome.fileStorage APIを使用してjsファイルを保存してから、編集してDOMやAppに挿入することはできますか? –

+0

@VivekPradhan編集したJSを実行するには、サンドボックスを使用する必要があります。なぜなら、Chromeアプリケーションにはインライン/エバールコードを禁止する強制CSPがあるからです。 – Xan

+0

@Xan、私の目標は、IDEのいくつかの並べ替えを非常にシンプルな1つのクロームアプリを使用してofcourseのです。どのように私はそれをサンドボックスですか?私はすべてのモジュールにノードモジュールを使用しているので、編集されたjをブラウザに挿入するための戦略を考えることはできません。私はjsでこの作業をしたいと思っていました。 :/ –

関連する問題