Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.04.2015, 14:38
Аватар для vasa_c
Профессор
Отправить личное сообщение для vasa_c Посмотреть профиль Найти все сообщения от vasa_c
 
Регистрация: 12.03.2008
Сообщений: 183

axy.define: бициклет на тему CommonJS
Добрый день!
Решил освежить в памяти JS и разобраться в новых веяниях, а то как-то забросил его.
Начал с TypeScript и node.js, а заодно задумался на тему организации кода и какой-то модульной системы.

И, чтобы всё это совместить, написал на TypeScript модульную систему, которая эмулирует ноду в браузере.
Не совсем, конечно, эмулирует, но немного.

Собственно, вот: axy.define.

Имеется некая виртуальная файловая система, в которой в виде файлов лежат модули и любые другие данные, с ними можно работать с помощью модуля fs.
require() ищет модули внутри этой "ФС".
Полный алгоритм ноды: относительные пути, поиск по node_modules + системные каталоги, подстановка расширений, индексные файлы, package.json...

Можно написать аяксовый загрузчик и модули с данными будут прозрачно подсасываться с сервера.

Частично реализованы некоторые элементы окружения, global, process, модули ядра, такие как fs, path.

Пример

Ссылка

Тестовое приложение тупо меняет цвет страницы на серый.

Для сборки проекта есть утилита в виде npm модуля, которая запускается из командной строки с нужными опциями.
Рекурсивно и асинхронно обходит каталог с исходниками, заключает модули во врапперы, записывает всё в итоговый каталог.

В примере тестовый проект собран вместе с node_modules в которой лежит сама утилита сборки.
В браузере же:

1. Из "командной строки" опять запускается сборка проекта уже в виртуальной ФС.
2. Собранный проект запускает отдельную песочницу.
3. В песочнице опять проходит сборка с нуля.
4. Собранный повторно проект уже запускается и меняет цвет страницы.
5. Стандартный поток вывода перенаправлен из консоли в дивы.

Такой вот трэш.

Вопросы

1. Почему данное решение шлак?

2. Кто использует на данную тему, что-нибудь кроме бабеля? Какие отзывы?
Ответить с цитированием
  #2 (permalink)  
Старый 27.04.2015, 16:18
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Открой для себя WebPack / Browserify и ES6 модули.
__________________
kobezzza
code monkey
Ответить с цитированием
  #3 (permalink)  
Старый 28.04.2015, 08:13
Аватар для vasa_c
Профессор
Отправить личное сообщение для vasa_c Посмотреть профиль Найти все сообщения от vasa_c
 
Регистрация: 12.03.2008
Сообщений: 183

Ну, да, это самый очевидный и ожидаемый ответ.
Я и не позиционирую своё творение, как некое откровение.
Просто, джаст-фо-фан. Выложил - может кто-нибудь глянет и конструктивную критику выскажет.

Но раз о webpack заговорили:

1. Кто имел более-менее продолжительный опыт с вебпаком на мало-мальски крупном проекте? Насколько он стабилен? Какие минусы имеются?
2. Насколько, действительно, удаётся писать один и тот же код для ноды и браузера?
3. Насколько, эта возможность вообще востребована?
4. TypeScript - кто-нибудь плотно использовал? Какие отзывы?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно разработатть тему для Sencha basegroup Работа 1 22.08.2014 16:35