【问题标题】:Django/React Dev Servers ChoicesDjango/React 开发服务器选择
【发布时间】:2019-04-09 19:27:13
【问题描述】:

我是 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 runeject”。

这两种设置有什么好处吗?我对“npm runeject”了解不多,但由于我无法退出它,最好等到我接近部署后再退出?

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'
    ]
}

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

【问题讨论】:

    标签: django reactjs django-rest-framework axios


    【解决方案1】:

    这是我在 documentation-link 上找到的 npm runeject

    这是一种单向操作。一旦弹出,就无法返回!

    如果您对构建工具和配置选择不满意,您可以随时弹出。此命令将从您的项目中删除单个构建依赖项。 相反,它会将所有配置文件和传递依赖项(Webpack、Babel、ESLint 等)直接复制到您的项目中,以便您完全控制它们。除弹出之外的所有命令仍然有效,但它们将指向复制的脚本,以便您可以调整它们。在这一点上,你是你自己的。 您不必使用弹出。精选功能集适用于中小型部署,您不应该觉得有义务使用此功能。但是,我们知道,如果您在准备好后无法对其进行自定义,则该工具将毫无用处。

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

    所以它有它的优点和缺点,选择最适合你的。

    【讨论】:

    • 对它看到了那些,但目前我不确定我个人的利弊。我将来是否需要更新 create-react-app 似乎是我必须回答的最大问题
    • 以后需要更新 create-react-app 吗?由您决定别人如何告诉您您需要更新或坚持旧版
    猜你喜欢
    • 1970-01-01
    • 2020-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-24
    • 2017-11-17
    • 1970-01-01
    • 2018-04-04
    相关资源
    最近更新 更多