Аддон SDK. Разрезать main.js на несколько единиц?
Я разрабатываю некоторые расширения для Mozilla FireFox с использованием Addon SDK. Мой main.js сейчас очень большой, содержит много кода во всех видах. Можно ли нарезать их на несколько пользовательских файлов js?
main.js - Загрузчик
Unit1.js - Делай работу А
Unit2.js - сделать работу B
Unit3.js - делать работу C
или любой хороший совет для разработки очень функциональных расширений.
1 ответ
Вы можете создать и require()
"локальные" модули. Также ознакомьтесь со структурой модуля SDK.
Следовательно, вы можете попробовать модульные вещи.
lib/joba.js
function non_exported_helper() {
// do something;
}
function JobA() {}
JobA.prototype = {
doSomething: function() {
non_exported_helper();
return something_else;
}
};
// Export JobA
// Stuff not in `exports` will not be visible to other code
// require()ing a module.
exports.JobA = JobA;
lib/main.js
var JobA = require("./joba").JobA;
var job = new JobA();
job.doSomething();
Конечно, любой модуль может использовать require()
Но остерегайтесь кругового импорта.
Вам решать, что поместить в какой модуль. Например, один модуль может реализовывать один "класс", в то время как другой модуль может реализовывать набор функций, или другой модуль может использоваться для фоновых запросов и еще один модуль для всего пользовательского интерфейса.
Может быть, посмотрите на сам SDK, который организован в модулях, и / или посмотрите, что делают другие stdlib, например, stdlib Python или stdlib go и т. Д.