Я пишу яваскрипт рамки, используя шаблон модуля, который выглядит следующим образом:Split шаблон модуля Javascript кода в файлы
var EF = (function(doc) {
// Main public object
var e = {
version: "1.0.0",
doc: doc,
log: true
};
// Private methods
var method1 = function(el) {
<some code>
}
var method2 = function(el) {
<some code>
}
var method3 = function(el) {
<some code>
}
// PUBLIC METHODS ASSIGNMENT
e.method1 = method1;
e.method2 = method2;
e.method3 = method3;
return e;
}(document));
Теперь я решил, что я должен переместить некоторые методы в отдельный файл. Во время разработки я тогда загружал два файла один за другим в файл HTML, а для развертывания я бы объединил их в один файл.
Каков правильный способ переместить часть методов в отдельные файлы, сохраняющие структуру кода, который я использую?
Я видел следующее предложение в одном из ответов на StackOverflow:
var MODULE = (function (my) {
var privateToThisFile = "something";
// add capabilities...
my.publicProperty = "something";
return my;
}(MODULE || {}));
Это выглядит почти как то, что мне нужно, но это показывает частные методы для файла и для модуля. Но мне нужны частные методы для модуля и лобковые методы для модуля.
Какие у вас есть предложения?
Все функции, которые нуждаются в доступе к тем же частным методам, должны находиться в одном файле сценария. – Bergi
Это потому, что они не частные методы, а локальные переменные, ссылающиеся на объекты-функции, метафора сразу же ломается. – Esailija
см. Возможный дубликат. [Как я могу делиться данными между частями между двумя файлами в узле?] (Http: // stackoverflow. com/questions/17334081/how-can-i-share-module-private-data-between-2-files-in-node) для возможного шаблона, если просто [разделение на более мелкие модули] (http://stackoverflow.com/a/12483424/1048572) не подходит для вас – Bergi