Последуем инструкции из файла README.txt приложения.
1. Предположим Node.js и MongoDB у нас уже установлены. Качаем архив.
Нас интересует каталог samples. Извлечем из архива каталог samples\imageboard.
2. Запускаем процесс mongod (об установке и настройке MongoDB рассказывал в одном из предыдущих постов).
3. Открываем консоль в каталоге с бинарниками MongoDB, восстанавливаем данные из дампа:
- mongorestore dump
, где dump - путь к одноименному каталогу в только что распакованном каталоге imageboard:
Данные извлекаются в базу данных по имени mydb и состоят из двух коллекций: images и users.
4. Переходим в каталог приложения - imageboard.
Прежде чем выполнить установку необходимых модулей предлагаю взглянуть на содержание файла package.json:
{ "name": "application-name" , "version": "0.0.1" , "private": true , "dependencies": { "express": "2.5.8" , "ejs": ">= 0.5.0" , "jade": ">= 0.0.1" , "mongodb": ">= 1.0.0" } }
Приложение на фреймворке Express, движок шаблонов - Jade, драйвер MongoDB - "нативный", для чего нужна ссылка на движок шаблонов EJS для меня загадка.
ОК, установим модули:
- npm install
5. Прежде чем компилировать приложение не мешало бы установить компилятор:
- npm install -g typescript
Пытаемся компилировать:
- tsc app.ts
... и получаем массу возражений компилятора.
Если посмотреть повнимательнее на самое первое возражение, можно догадаться, что косяк в какой-то ссылке в файле app.ts.
Открываем файл app.ts и наблюдаем на первой строке ссылку на так называемый файл определения (объяснение этого понятия выходит за рамки текущего повествования, читайте мануал :)):
///<reference path='..\node\node.d.ts' />
Похоже нам понадобится распаковать каталог samples\node, содержащий эти самые файлы определений для Node.js.
Пытаемся компилировать еще раз:
- tsc app.ts
И снова неудача. Компилятор TypeScript поддерживает два типа модулей: commonjs и amd. Разумеется нас интересует первый.
Пытаемся компилировать в третий раз:
- tsc app.ts --module commonjs
Bingo! Причем одновременно с файлом запуска приложения app.js были скомпилированы все файлы, которые были импортированы по ходу компиляции.
6. Запускаем приложение:
- node app
Много букафф :) - видимо ругается драйвер MongoDB, но не так, чтобы на него обращать внимание :).
7. Открываем в браузере адрес нашего приложения - http://localhost:3000/ ...
... ТА-ДА :).
Пощелкаем по ссылкам:
Попробуем добавить новый ImageBoard ...
... косяк в Jade-шаблоне.
Оставим его исправление в качестве "домашнего задания", так как он не имеет отношения к предмету изложения.
В завершение, надеюсь, что разработчики TypeScript ровно разрулят изменения в спецификации ECMAScript 6, которые безусловно будут.
Комментариев нет:
Отправить комментарий
Комментарий будет опубликован после модерации