gpt4 book ai didi

node.js - 如何在 Elastic Beanstalk 上使用 Django 服务 React 应用程序?

转载 作者:行者123 更新时间:2023-12-05 05:04:03 25 4
gpt4 key购买 nike

我曾经在 Heroku 上安装我的应用程序,它的工作方式是我有 2 个构建包。一种用于 NodeJS,一种用于 Python。 Heroku 运行 npm run build,然后 Django 提供 build 文件夹中的文件。

每当我的 GitHub 存储库上有新推送时,我都会使用 AWS 上的代码管道部署我的应用程序的新版本。

因为我不知道如何在 EB 的 python 环境中运行 npm run build,所以我有一个解决方法。我运行了 npm run build 并将其推送到我的存储库(从 .gitignore 中删除了 build 文件夹),然后 Django 在 EB 上提供了文件。

但是,这不是最好的解决方案,我想知道是否有人知道如何运行 npm run build,就像 Heroku 可以使用他们的 NodeJS buildpack 为 EB 上的 python 应用程序那样运行。

最佳答案

所以我想出了一个适合我的解决方案。

因为我想像 Heroku 使用 NodeJS buildpack 那样在服务器上创建我的应用程序的构建版本,所以我必须创建一个命令来安装 Node ,如下所示:

container_commands:
01_install_node:
command: "curl -sL https://rpm.nodesource.com/setup_12.x | sudo bash - && sudo yum install nodejs"
ignoreErrors: false

然后为了在 Python 环境 EB 上创建 React 应用程序的构建版本,我添加了以下命令:

container_commands:
02_react:
command: "npm install && npm run build"
ignoreErrors: false

当然,在创建构建版本之后,您应该收集静态文件,所以这是我的工作配置文件最后的样子:

option_settings:
aws:elasticbeanstalk:container:python:
WSGIPath: <project_name>/wsgi.py

aws:elasticbeanstalk:application:environment:
DJANGO_SETTINGS_MODULE: <project_name>.settings

aws:elasticbeanstalk:container:python:staticfiles:
/static/: staticfiles/

container_commands:
01_install_node:
command: "curl -sL https://rpm.nodesource.com/setup_12.x | sudo bash - && sudo yum install nodejs"
ignoreErrors: false

02_react:
command: "npm install && npm run build"
ignoreErrors: false

03_collectstatic:
command: "django-admin.py collectstatic --noinput"

希望这对遇到同样问题的人有所帮助 🙂

关于node.js - 如何在 Elastic Beanstalk 上使用 Django 服务 React 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61270154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com