2016-03-15 2 views
1

У меня есть некоторые основные вопросы, касающиеся структуры проекта MEAN-приложения, включая Angular2. Я выполнил начальный учебник angular.io, чтобы создать действительно базовое приложение Angular2. Теперь я пытаюсь интегрировать это приложение в проект NodeJS, следующий за этим tutorial. Проблема в том, что этот учебник был написан во время первого Углового.Углубленный дизайн 2 и NodeJS

Мои вопросы:

  1. где я должен поставить НПМ пакеты моего приложения Angular2? Внутри общей папки (так что приложение имеет собственный package.json) или внутри узла packages.json?
  2. Как должен реализоваться компилятор tsc?

Bruno

+0

вы должны либо выполнить задачи 'gulp', чтобы скомпилировать файлы машинописных файлов, либо также могут компилироваться отдельно. –

+0

, но каков рекомендуемый способ сделать это? – Bruno

+0

@Pradeep, делает 'glup' компилирует его в IDE самостоятельно или в браузере? – micronyks

ответ

1

У меня была очень похожая проблема, когда первый начинает мигрировать к angular2. Учебник Angular.io использует System.js для своих модулей, который в основном несовместим с узлом, который использует CommonJS. Это дает вам два варианта.

  1. Настройте модули компилятора и узла узла для Client and Server отдельно.

  2. Используйте модули CommonJS с чем-то вроде Browserify на клиенте.

Теперь для меня предпочтительным является только второй вариант. Устанавливать вещи в два раза поражает всю цель иметь один и тот же язык для клиента. & Сервер.

Я подготовил котельную для углового 2, чтобы начать с быстрого обновления браузера. Вы можете это проверить right here.

Теперь все, что вам нужно сделать, это создать общую папку для вашего клиентского приложения, а также создать статические маршруты для ваших модулей узлов. Это может выглядеть примерно так:

app.use(express.static(__dirname + '/public')); 
app.use("/node_modules",express.static(__dirname + '/../node_modules')); 

Лично я использую VS код задачи скомпилировать мой машинопись, а затем использовать Watchify на стороне клиента, чтобы связать все это вместе. На стороне сервера я использую nodemon для просмотра любых изменений и перезапуска сервера при компиляции.

+0

так в чем разница между браузером и глотком? – Bruno

+0

Gulp - это инструмент построения, а Browsify - инструмент для разрешения модуля. Вы можете использовать оба вместе, если хотите, однако, мне нравится держать его простым и использовать только Browserify. –

+0

https://www.viget.com/articles/gulp-browserify-starter-faq –