reactjs - 将 create-react-app 部署到 Plesk Onyx
问题描述
这个问题不会特别详细,因为这个问题非常基本,并且与 Plesk Onyx 如何实现节点支持的限制有关。
我正在尝试将使用 create-react-app 创建的反应应用程序部署到安装了 Plesk Onyx 的服务器上托管的域。我显然不能乱搞核心服务器,因为我可能会破坏其他域。因此,我需要以 Plesk 正确处理的方式安装此应用程序。我遇到的问题是我没有找到如何在任何地方执行此操作的指南。
Plesk 需要一个非常不灵活的项目结构,它与 create-react-app 强加的结构完全不同。例如,Plesk 要求文档根目录是应用程序根目录的子节点,这与 create-react-app 设置项目的方式完全相反。
我没有在这里显示代码,因为这是一个部署问题,而不是代码问题,并且涉及项目的结构以及如何将圆钉塞入方孔中。
解决方案
我遇到了类似的问题,但我认为我有某种解决方法。我实际上并没有尝试过这是否有效或在 Plesk Onyx 中是否有效。
基本上我想把一个 create-react-app 放到一个基于 plesk onyx 的主机上并运行npm start
,最终导致 . react-scripts start
,我意识到 Plesk 没有能力做到这一点。Plesk 不是 VPS...
取而代之的是,Plesk 运行一个 js 脚本文件来执行服务器,例如App.js
or server.js
,它可以通过 Plesk NodeJS 控制面板进行设置。
为此,我express
通过运行安装:
npm install express --save
并制作了一个server.js
包含以下代码的文件:
const express = require('express');
const bodyParser = require('body-parser')
const path = require('path');
const app = express();
app.use(express.static(path.join(__dirname, 'build')));
app.get('/', function (req, res) {
res.sendFile(path.join(__dirname, 'build', 'index.html'));
});
app.listen(process.env.PORT || 8080);
我从这里得到了代码: https ://dev.to/loujaybee/using-create-react-app-with-express
然后我跑去npm run build
创建一个生产版本,最后是node server.js
. 我的应用程序(react 教程中的一个简单井字游戏)在 localhost 端口 8080 中可用。
如果我成功了,我会给你一个更新。
推荐阅读
- node.js - 使用 FS 读取文件时出现结束错误后写入
- java - 地图的单个作者和多个阅读者
- c# - 为什么日期时间字符串在一个 Windows 10 系统上填充为 0,而在大多数其他系统上却没有?
- python - 使用 pybind11 在 C++ 中传递和返回 numpy 数组
- javascript - 您如何获得分支的条件语句?
- java - 如何在 Java 中打印这个特定的金字塔?
- python - 如何从python中的协方差矩阵中获得子协方差
- azure - Azure 队列触发器函数
- r - 在 R 中清理排名选择调查数据
- haskell - haskell 中的 const 函数声明