Reactjs Django+;反应积分

Reactjs Django+;反应积分,reactjs,django-rest-framework,django-react,Reactjs,Django Rest Framework,Django React,我让Django Rest Framework服务器在一个终端中运行,而React在另一个终端中运行 我使用axios在React中使用Django API,如下所述 axios.get('http://localhost:8000/songs/').then(res=>console.log(res) 它工作得很好,在生产模式下,我将把main.js(由npm run build创建,React的构建文件)挂接到Django模板 这种方法在服务器上有效吗?推荐吗 我曾经将Dj

我让Django Rest Framework服务器在一个终端中运行,而React在另一个终端中运行

我使用axios在React中使用Django API,如下所述

    axios.get('http://localhost:8000/songs/').then(res=>console.log(res)

它工作得很好,在生产模式下,我将把main.js(由npm run build创建,React的构建文件)挂接到Django模板

这种方法在服务器上有效吗?推荐吗


我曾经将Django+React与这个guid()集成,但是它不支持一些npm包

是的,它可以工作。有几种方法可以一起部署React和Django

然而,我更喜欢的部署方式是使用
docker compose
并使用nginx反向代理部署它


你能告诉我为什么Valentino Gagliardi教程中不支持某些npm包的更多细节吗?

在包含所有api端点URL的src react文件夹中创建constant.js文件。像这样:

const localhost = 'http://127.0.0.1:8000';

const apiURL = '/api';

export const endpoint = `${localhost}${apiURL}`;

export const productListURL = `${endpoint}/products/`;
export const productDetailURL = id => `${endpoint}/products/${id}/`;
export const addToCartURL = `${endpoint}/add-to-cart/`;
export const orderSummaryURL = `${endpoint}/order-summary/`;

否则,您将不得不更改前端上每个请求的端点域,这可能会非常耗时

我在实际的web服务器上部署应用程序,如;ubuntu水滴在数字海洋上,使用NGINX。 您可以将react和Django应用程序部署在同一个水滴上。您只需要为nginx编写额外的配置。并正确配置Web服务器

反应部署文档:

django部署文档:

完成这两个教程后,您将了解如何为MVC配置nginx。

找到了有用的文档


Django将在一个终端运行,React将在另一个终端运行。Django服务器的API将由使用Axios的React使用。

感谢您的回答,我学会了更新网页包以支持sass和typescript文件