Установить проект Typescript с классами, общими для клиентских и серверных приложений?

У меня сейчас есть решение с двумя проектами. ServerApp (nodejs NTVS) и BrowserApp (приложение Html Typescript).

Я хочу разделить классы между обоими проектами и получить немедленный смысл.

Как это сделать?

PS: для тех, кто знает GWT, то, что я хочу, похоже на общий проект.

2 ответа

Мне удалось сделать это так:

  • создать третий проект с именем SharedClasses (я использовал шаблон HTML Typescript)
  • добавить мои общие классы в нем
  • добавить файл shared_reference.ts со ссылками на эти файлы классов
  • добавить ссылку на файл reference.ts в проектах ServerApp и BrowserApp, которые указывают на shared_reference.ts

/// <reference path="../SharedClasses/shared_reference.ts" />

Автозаполнение работает, F12 тоже...

Если вы используете внешний инструмент сборки, например, grunt-ts это легче. Для ознакомления с демоверсией: https://github.com/basarat/demo-fullstack

С примером файла gruntfile ( https://github.com/basarat/demo-fullstack/blob/master/src/Gruntfile.js). Важный бит:

  var commonFiles = "common/**/*.ts";
  var serverFiles = ["server/**/*.ts", commonFiles];
  var clientFiles = ["client/**/*.ts", commonFiles];
Другие вопросы по тегам