Django / React Dev Servers选择

时间:2018-11-06 11:48:16

标签: django reactjs django-rest-framework axios

我是React的新手。我正在建立一个使用Django制作REST API和使用React访问api的项目。我的后端在http://localhost:8000/上运行,而前端在http://localhost:3000/上运行。我的前端向http://localhost:8000/api/v1/发出api请求。

我找到了this教程,以使前端可以在http://localhost:8000/的索引上运行,以达到开发目的。我仍然必须拥有我的React开发服务器和Django开发服务器,但是我还必须运行'npm run弹出'。

这两种设置有什么优势吗?我对'npm run exit'不太了解,但是由于我无法从中退出,所以最好等到更接近部署时再退出,这会更好吗?

edit *-后一种方法的一个优点是我可以这样设置权限

REST_FRAMEWORK = {
    # Use Django's standard `django.contrib.auth` permissions,
    # or allow read-only access for unauthenticated users.
    'DEFAULT_PERMISSION_CLASSES': [
        #'rest_framework.permissions.AllowAny',
        'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
    ]
}

而不是必须允许任何。不过,这实际上只会成为出于部署目的的问题。

1 个答案:

答案 0 :(得分:0)

这是我在documentation-link上发现的 npm运行弹出

这是单向操作。弹出后,您将无法返回!

如果您对构建工具和配置选择不满意,则可以随时退出。此命令将从项目中删除单个构建依赖项。 而是将所有配置文件和传递依赖项(Webpack,Babel,ESLint等)直接复制到您的项目中,以便您完全控制它们。除弹出命令以外的所有命令仍然可以使用,但是它们将指向复制的脚本,因此您可以对其进行调整。至此,您就可以依靠自己了。 您无需使用弹出。精选功能集适用于中小型部署,您不应该使用此功能。但是,我们了解到,如果您在准备就绪时无法自定义该工具,它将不会有用。

它会将create-react-app的配置文件和dev / build / test脚本移到您的应用目录中。 如果您不需要修改配置或脚本,则无需弹出。这样做会阻止您更新到create-react-app的新版本。 create-react-app为您提供了一种快速简便的启动和运行方法。它封装了项目设置,并为您提供创建生产就绪型应用程序的工具。 当您运行npm弹出时,它使您可以访问所有配置文件。如果您要编辑Webpack设置,这将很有用

因此它有其优点和缺点,选择最适合您的东西。