在 express.js 公共目录中提供静态 react.js 应用程序

问题描述

所以我有一个非常简单的营销网站,非常漂亮。在这个很棒的网站中,我想嵌入一个 <iframe>,其中包含我要销售的实际应用的演示。

我继续使用 npm run build 构建了我的 React 应用程序,然后将 build/输出复制到 express 应用程序 /public 目录中。

现在的问题是我看不到 React 应用程序,因为它的资源(图像、js、css 等)是相对于根目录的,而 React 应用程序不在根目录中,它是静态的子文件夹。

server.js 紧挨着 react 应用程序文件index.html 位置时会发生这种情况,但是,现在该应用程序由另一个网站的 server.js 提供服务,所有资源都已损坏.

父应用程序在 / 中提供,但反应应用程序在 /demoapp 中提供,问题在于它的所有资源都指向 / 而不是 /demoapp

这就是我一直在尝试做的:

const server = express()
  .disable('x-powered-by')
  .use(express.static(process.env.RAZZLE_PUBLIC_DIR!))
  .use('/demoapp',express.static(`${process.env.RAZZLE_PUBLIC_DIR!}/demoapp/static`))
  .get('/*',(req: express.Request,res: express.Response) => {
    console.log(process.env.RAZZLE_PUBLIC_DIR!)
    const { html = '',redirect = false } = renderApp(req,res)
    if (redirect) {
      res.redirect(redirect)
    } else {
      res.send(html)
    }
  })

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...