Дваайс Фронтенд и Бэкенд в другом или том же проекте, и как делать вызовы API

У меня есть проект, сделанный с dvajs, используя dva-cli. Здесь есть весь мой интерфейс, вместе с roadhogjs, как и в случае с dva-cli.

Затем у меня есть бэкэнд-проект с типичной конфигурацией express и nodejs. Этот бэкэнд не имеет веб-страниц, только API-вызовы с использованием порта 3000.

У внешнего интерфейса есть прокси в конфигурации webpack, чтобы обойти макет roadhog для localhost:3000, чтобы делать вызовы бэкэнду вместо использования mock:

proxy: {
    "/api": {
      //"target": "http://46540a8f.ngrok.io",
      "target": "http://localhost:3000",
      "changeOrigin": true,
      "pathRewrite": { "^/" : "" }
    },
    hash: true,
  },

Поэтому, когда я звоню, как:

return request('/api/users/login', {
    method: 'POST',
    body: params,
});

Приложение позвонит localhost:3000/api/users/login

Эта конфигурация вонючая для производства, я чувствую, что она должна быть сделана более правильно, и я пытаюсь найти подходящую конфигурацию для объединения обоих проектов.

Мне было интересно, какова правильная конфигурация для этого, могу ли я поместить все в один проект (как) или я должен использовать два, как сейчас.

В случае использования двух: ¿Каков наилучший способ сделать вызовы API? И как мне его развернуть? мой хостинг-провайдер говорит мне загрузить бэкэнд в качестве корневого проекта, а затем поместить весь веб-интерфейс в общую папку бэкэнд-проекта, но мне это тоже не очень нравится.

0 ответов

Другие вопросы по тегам