Как интегрировать угловой и выразить - PullRequest
0 голосов
/ 31 октября 2018

Я учусь создавать приложения MEAN, и я проходил через этот код: https://github.com/linnovate/mean

В этом коде я заметил, что здесь: https://github.com/linnovate/mean/blob/master/src/app/auth/auth.service.ts (строка 18, а также некоторые другие строки) отсутствует базовый URL. * например 1006 *

  export class IssueService {

  // url of the nodejs server
  url = 'http://localhost:4000';

  constructor(private http: HttpClient) { }

       getIssues() {
           return this.http.get(`${this.url}/issues`);
       } 
   //More code....

Итак, мои вопросы:

  1. Как работает угловой код без базового URL или он определен где-то еще?
  2. Как настроить Angular, чтобы знать базу, не определяя ее?
  3. Также в этом коде, когда вы запускаете его ... вы можете получить к нему доступ только с одного URL: localhost 4040 ... поэтому мой вопрос: как это достигается? Как угловой и экспресс интегрированы, чтобы работать как один? .... (я спрашиваю об этом, потому что в других уроках я видел, что angular имеет номер порта, отличный от экспресса. Затем вы используете сервисы для связи между Angular и express)

Заранее спасибо.

1 Ответ

0 голосов
/ 31 октября 2018
"start": "concurrently -c \"yellow.bold,green.bold\" -n \"SERVER,BUILD\" \"nodemon server\" \"ng build --watch\""

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

https://github.com/linnovate/mean/blob/master/server/config/express.js

см. line 41 он обслуживает ваш угловой проект сборки

Для вопроса 2: Как настроить угловой, чтобы знать базу, не определяя ее? Базовый URL-адрес определен в файле protracter.conf.js (строка 15)

...