首页 文章

Lumen - 服务于ReactJS项目

提问于
浏览
1

我正在为一个项目开发一个Lumen / React应用程序 . Lumen显然正在提供API,而React正在生成用户界面 . 我现在尝试通过Lumen提供我的React应用程序,以便它可以接管所有用户界面工作 .

我希望尽可能地保留应用程序的客户端部分,以便我将来可以轻松地从Lumen切换到Koa或任何其他后端,如果我愿意的话 . 我的应用程序结构如下所示:

正如您目前所看到的,React应用程序是repo的子文件夹 . 这是我在之前的Koa项目中所做的事情,但是,由于Nodejs Web服务的性质,它使得提供这些文件变得更加容易 .

从我到目前为止的测试来看,我认为提供文件服务的最佳方式是从客户端文件夹中读取 index.html 的内容,/ build或/ public,具体取决于是否启用了 生产环境 . 然后,我将需要将Web服务器设置的公共文件夹之外的资源请求重定向到客户端文件夹中的/ build或/ src,具体取决于它是否在 生产环境 中 .

我的问题是:

A)这是否可以安全可靠的方式实现?

B)这是通过Lumen提供React应用程序的最佳方式吗?

1 回答

  • 0

    可能不是最好的解决方案,但我只是编写了自己的脚本,在构建脚本运行后将构建的版本部署到Lumen文件 .

    可以使用React代理选项进行开发 .

    const copydir = require('copy-dir');
    const fs = require('fs');
    
    copydir.sync('./build', '../public');
    
    fs.readFile('./build/index.html', 'utf8', function (err, data) {
        if (err) throw err;
        fs.writeFile ('../resources/views/index.php', data, function(err) {
            if (err) throw err;
        });
    });
    

相关问题