![]() |
Нужен совет по подключению классов в JS-проекте
В NodeJS есть штатный механизм подключения модулей
Код:
var misc = require('./misc');ЗЫ. Обязательно чтобы отладчик работал. Потому что при сборке на лету некоторыми способами все в целом работает, но тот же FireBug не может показать строчку с ошибкой, если она возникает. |
Речь идет о произвольном коде или конкретно о NodeJS?
И что подразумевается под "классами"? |
Речь идет о проекте на чистом JS для работы клиентской части приложения. Если точнее, то там разрабатывается движочек, использующий возможности html5.
Хотелось бы, чтобы в итоге проект выглядел примерно как проект на AS3, т.е., один класс - один файл, в начале каждого файла с классом был указан импорт, все само собирается и биндится. Т.е., примерно как require в NodeJS или require_once в PHP. Под классами в данном случае подразумевается их реализация на JS. Код:
function Animal(name) {ЗЫ. Пишу не я, пишет коллега, но я вижу, что он зарылся и не может найти решения. По крайней мере, те решения, которые он нашел к текущему моменту, не подходят. |
1. Достаточно прописать в <head> все используемые скрипты. Начинать работу следует по факту полной загрузки страницы.
2. Использовать минимизатор, который собирает все отдельные js-файлы в один, который указывается в том же <head>. P.S. И да, "классы" немного по-другому имитируются, через прототипы. Добавлено через 13 минут Пример объявления "класса": Код:
// Это наш класс. Конструктор.Код:
console.log(Animal.CLASS_DESC); |
Для отладки гуглите source map, для require browserify.
И привата в js нет. Многие js разработчики приватом называют замыкание. Они привыкли писать модульно и не создавать больше одного модуля на приложение, по этому для них замыкание действительно имитирует приват. Но для тех кто создает более одного модуля, приватная скопа становится общей для всех инстенсов. Еще есть в шестой версии символ и что-то ещё призванное имитировать приватность.. Но и к таким приватным свойствам можно будет добраться. |
ок, спс.
посмотрим в эту сторону тоже. |
И раз у Вас такие скудные познания в js, то я бы ещё посоветовал посмотреть в сторону препроцесоров babelJS или typescript. Если появятся мысли типа - "я не буду х использоваться, я же программист, я буду на чистом писать". Выкиньте эти мысли из головы.
|
Цитата:
Кстати, а никто не подскажет нормального форума по JS (в частности по проектам на JS)? Javascript.ru не предлагать. |
Не знаю почему, но сложилось такое мнение, что в as3 люди воспитанные, максимум могут промолчать.
В php наоборот, одни оборотни, которые друг перед другом выделываются и постоянно грызутся, как собачки. JS же что-то среднее между первым и вторым. На начальном этапе Вам все разжуют и объяснят, но если копнуть чуть глубже то и послать могут, но чаще всего просто скажут, что каждый должен дойти до всего сам. Но и ругать их нет причин, так как js это бескрайние просторы космоса в котором варятся все у кого нет своего дисплей листа, как это есть у нас. А все языки разные и люди разные и все хотят свою толику внести, что превращает js во вселенную. И если Вы считает что Вам ответят на вопрос "какой фраймворк" или "какой препроцессор лучше", то нет. Как Вам ответить если вряд ли найдется человек, который их все пробовал и сравнивал. В as3 есть Starling и его хватает заглаза и его все и всякому советуют, а в js даже ещё полноценного игрового движка нет. Даже не все режимы наложения в webgl реализованы. И как заключение можно лишь сказать, что если у Вас нет друга гуру, то приготовьтесь с полгода все свое время потратить на изучение технологий. Да и сколько нормальных форумов по проектам на as3 Вы знаете? Я таких не знаю. Или Вы готовы потратить неделю времени на объяснения создавая себе конкурента, которых в js просто миллионы? |
Цитата:
Но я ему обрисую ситуацию. |
Цитата:
|
mikhailk, вы игру пилите?
|
А если Вы не caseyryan, то тогда http://ru.stackoverflow.com/ но ответов Вам там дадут такие же, как в любом другом месте. Вам не будут советовать что-то лучшее или лучший вариант, там за такое банят.
|
Цитата:
Да, речь идет о сравнительно небольших играх на JS/HTML5. Сравнительно небольших - это означает, что все-таки не совсем маленьких. Которые, скажем, на AS3 пишутся с нуля где-то за полтора-два месяца. Цитата:
Здесь у нас тоже можно спросить так, что никто не ответит. Цитата:
Там еще и русскоязычный куст образовался. ru.stackoverflow.com |
Цитата:
Лично я выбрал CreateJS из-за его удивительной схожести с тандемом AS3+Starling. Там все настолько привычно — диву даешься! Мне это было очень удобно для портирования AIR>HTML5. Соблюдая определенную осторожность на все уходит пара дней. Но вроде как самый популярный в больничке у нас Phaser. В нем все по-своему (знающие люди отзывались), но он вроде здорово заточен под игрострой. К тому же умеет рисовать как в canvas, так и в WebGL. Оба движка (фреймворка) зададут тон JS-ового ООП-а :) пообвыкнуться легче будет. Ну и самое главное — если хочется все же чего-то более близкого сердцу, чем JavaScript, можно остановить свой выбор ну уже упомянутом здесь выше TypeScript. |
Цитата:
|
Поздновато заглянул в эту ветку, но тем не менее запоздало внесу свои 5 копеек. Вообще то нодовский способ подключения "классов" это стандарт RequireJS, можно его использовать и на стороне браузера, кстати довольно удобно. Что же касается форумов по JS на русском языке я ничего нормального не находил, согласен с caseyryan, по JS юзаю только stackoverflow.com
|
Цитата:
|
| Часовой пояс GMT +4, время: 22:14. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.