Дваайс Фронтенд и Бэкенд в другом или том же проекте, и как делать вызовы 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? И как мне его развернуть? мой хостинг-провайдер говорит мне загрузить бэкэнд в качестве корневого проекта, а затем поместить весь веб-интерфейс в общую папку бэкэнд-проекта, но мне это тоже не очень нравится.