如何在浏览器中动态创建javascript文件

时间:2016-09-18 16:29:38

标签: javascript html browserify google-chrome-app cylon.js

我最近开始探索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的,但我仍然将其添加为我特定用例的标签。

1 个答案:

答案 0 :(得分:0)

应在Apps manifest.json中指定所有.js文件。我不认为您可以编辑应用程序文件夹中的项目(即使通过文件存储访问它)