Как мне использовать длинный файл JavaScript, используя шаблон модуля?
Я изучаю шаблон проектирования в JavaScript, и я собираюсь использовать шаблон модуля. Я озадачен двумя вещами.
1 - Если бы я создал плагин, я мог бы использовать шаблон модуля и иметь закрытые и открытые методы / переменные. Но если у меня есть полный файл JavaScript, мне не нужны частные и публичные методы, так как одна часть программы не имеет ничего общего с другой. Так какой смысл в частных и публичных методах?
2 - Поскольку файл JavaScript действительно длинный, я должен иметь вложенный модуль? Как мне использовать полный файл JavaScript?
2 ответа
JavaScript перешел на. ES6- к которой нет реальной причины не переходить, если вы еще этого не сделали - имеет свои собственные модули. Поэтому нет необходимости "имитировать" модули со старыми шаблонами. Пример:
// Old style.
var myModule = function() {
var privateVar;
function getPrivateVar() { return privateVar; }
return {getPrivateVar: getPrivateVar};
}();
console.log(myModule.getPrivateVar());
// New style.
let privateVar;
function getPrivateVar() { return privateVar; }
export {privateVar};
// Using it
import {getPrivateVar} from './myModule';
console.log(getPrivateVar());
В приведенном выше privateVar
по определению является приватным для модуля (файла). Там нет необходимости держать его в секрете, завернув его в IIFE. Вместо того чтобы самим обрабатывать экспорт как свойства одного возвращаемого объекта, мы используем механизм экспорта ES6 для явного экспорта.
(1)
Когда все файлы Javascript загружены, все сценарии во всех файлах точно так же, как они находятся в одном файле. Скрипт в одном файле может обращаться (читать, обновлять, удалять) к глобальным переменным в других файлах. Есть много вопросов по этому вопросу, вы можете легко найти их.
Конечно, "одна часть программы не имеет ничего общего с другой частью", но если вы работаете в команде со многими участниками, каждый из них работает над частью системы (или, в некоторых случаях, над файлом). Тогда есть вероятность, что один человек случайно изменит переменные, созданные другим человеком. Такие ошибки довольно легко обнаружить. Но если вы можете модулировать свой сценарий, вы можете полностью избежать подобных ошибок.
(2)
Вы можете идти медленно. При написании кода для выполнения требований попытайтесь распознать части кода, которые можно разделить на модули (или даже вложенные модули). Они помещают их в другие файлы.
Вы должны быть творческими и осторожными при этом. Код может очень быстро расти, и все очень быстро выходит из-под контроля.