Как соединить Angular и Node.js( Express)?

Добрый день
Использую angular2-seed для разработки приложения со следующей структурой:
d646171f56a54ad7834ece68279c4eae.png
Сделал папки с корня "client" и "server". В server после всех манипуляций с tsd install express -s сделал файл server.ts
В него положил следующее
import express = require('express');
import path = require('path');
var port: number = process.env.PORT || 3000;
var app = express();

var renderIndex = (req: express.Request, res: express.Response) => {
    res.sendFile(path.resolve(__dirname, '../client/dist/dev/index.html'));
}

app.get('/*', renderIndex);

var server = app.listen(port, function() {
    var host = server.address().address;
    var port = server.address().port;
    console.log('This express app is listening on port:' + port);
});

В случае запуска server.ts я получаю ошибки
733200656a3a4b36bbf2e6b5ea08d2e1.png
Как понимаю, это из-за того, что не прописано откуда брать static файлы. Что-то вроде
app.use('/folder', express.static(path.resolve(__dirname, '../client/dist/prod/folder/')))

Вот мне непонятно, в случае dev и prod какие указывать папки в
app.use('/folder', express.static(path.resolve(__dirname, '../client/dist/dev/folder/')))

чтобы это заработало?
  • Вопрос задан
  • 4608 просмотров
Пригласить эксперта
Ответы на вопрос 2
wolf47
@wolf47
Айтишник, немного програмирую на JS
Я начал использовать mean.io. Прикольное решение, mean означает mongo express angular nodejs.

Основные вещи уже реализованы в ядре, вам только остается сделать свой пакет
Ответ написан
@bromzh
Drugs-driven development
вот работающий starter-kit: https://github.com/angular/universal-starter
ну и ещё tsd мёртв, бери typings
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы