Мой вопрос: Как можно лучше всего разбить большой монолитный объект буква javascript на несколько дискретных файлов?Преобразование большого файла javascript в несколько файлов
У меня есть один файл javascript, который состоит из объектного литерала со многими приложенными к нему способами. Это становится довольно длинным, и я хочу разбить его на более мелкие части, которым легче управлять.
Я слышал, что я могу использовать AMD или CommonJS для организации вещей, я слышал, что должен использовать RequireJS, чтобы я использовал Webpack или Browserify, чтобы я использовал любое количество других инструментов/методов. Посмотрев на эти вещи, я смущен тем, что лучший подход.
Как вы это сделаете? Как бы вы взяли единственный литерал объекта, состоящий из нескольких тысяч строк javascript (состоящий из таких функций, как «поиск» и «логин» и «пользователь»), и реорганизовать его в несколько файлов, с которыми легче справиться группа Разработчики? Единственное, гигантское файловое дело просто доходит до громоздкости, и варианты, кажется, разнообразны и неясны. Это довольно простое приложение, которое использует vanilla JS, немного jQuery и сидит поверх бэкэнда Grails.
Я думаю, что вопрос довольно ясно, но если вам действительно нужны коды, чтобы посмотреть на вот пример подобного объекта буквальный я говорю:
var myObj = {
foo: "one",
bar: "two",
baz: false,
deez: -1,
login: function() {
// lots and lots of code
},
user: function() {
// lots and lots of code
},
beers: function() {
// lots and lots of code
},
varieties: function() {
// lots and lots of code
}
init: function() {
myObj.login.init();
myObj.user.init();
// lots of jQuery document.ready stuff
}
}
myObj.init();
Одна вещь, на которую следует обратить внимание, если вы распространяете свой код среди множества le, тогда убедитесь, что все init-методы запускаются после того, как вы загрузили все необходимые файлы. В примере OP myObject.user.init() вызывается myObject.init(), поэтому вам нужно будет убедиться, что файл, содержащий myObject.user.init(), загружен до этого окончательного вызова init(). – Stuart