최근 노드 모듈을 번들로 제공하고 브라우저에서 사용하기 위해 Browserify을 탐색하기 시작했습니다. 그것은 깔끔하고 훌륭한 작품이지만, 나는 작업 흐름의 개선을 원한다. 내 사용의 경우, 내가 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에서 다른 핀을 사용하거나 다른 작은 변화를 사용하게하고 싶습니다. 이 파일의 종속성을 변경하지 않으므로 의 해당 블록을 script.js
파일의 새 내용으로 대체 할 수 있어야합니다. 다른 모듈은 이미로드되어 번들로 제공됩니다 (bunndle.js
).
이 설정이 브라우저 설정에서 가능한지 알고 싶습니다. Chrome 앱은 file Storage을 허용하므로 script.js
의 콘텐츠를 플러그인하고 초기에 HTML 파일에 bundle.js
을로드하면 초기 생성 후 동적으로 bundle.js
을 생성 할 수 있습니까? 어떻게해야합니까?
질문이 Cylon에만 국한된 것은 아니지만 나는 아직도 나의 특정 유스 케이스에 대한 태그로 추가하고 있습니다.
문제점이 확실하지 않습니다. 이'bundle.js'가 앱에서 어떻게 사용 되었습니까? 매개 변수를 받아들이는 인터페이스를 만들지 못하게하는 것은 무엇입니까? – Xan
안녕하세요. @Xan! 'bundle.js' 파일은'browserify'를 통해 생성됩니다. 따라서 많은 노드 모듈이 컴파일되어 거기에 살고 있습니다. 따라서 'Cylon'모듈과 다른 모든 firmata 어댑터와 같은 것들은 모두 bundle.js에 있습니다. 하지만'script.js '는 arduino를 사용하는 코드 일 수 있습니다. 어떻게'bundle.js'를 매개 변수로 만드는지 모르겠습니다. –