【问题标题】:How to use arbitrary directory as static directory in Reactjs如何在 Reactjs 中使用任意目录作为静态目录
【发布时间】:2017-12-04 20:23:36
【问题描述】:

我有一个用 React 编写的网站。
该网站本身运行良好。

我也有基于 Wordpress 的博客。

当我将博客内容放在博客目录时,React 会显示 404 not found 页面,因为除了 static 之外的所有内容都由 React 管理。

我想如果我可以再设置一个目录名为 blog 为静态目录,我可以将所有与 Wordpress 相关的文件放在该目录中。

但我很难做到这一点。

是否有任何用于构建 react-scripts 的选项或设置文件?
喜欢react-scripts build --static-directories static,blog
你能帮帮我吗?

/index.html /static/* < static contents /blog/* < also static contents.

提前致谢。

[更新] 即使我将静态文件放在静态目录中,我也无法访问它。原来我需要从 Reactjs 文件中导入那个静态文件...

【问题讨论】:

    标签: reactjs


    【解决方案1】:

    这可能是您想要在服务器级别处理的事情。

    因此,如果您使用的是 express,那么您可以执行以下操作:
    app.use('/static', express.static('public'))

    【讨论】:

      【解决方案2】:

      [已解决] 问题是 2 倍。
      服务器端和客户端。

      首先,我编辑了 .htaccess 文件以不重写任何内容。 RewriteEngine off

      现在 Safari 可以正确理解 "my domain/blog/"

      但 Chrome 仍然在 ReactJS 中处理 "my domain/blog/"

      我不明白为什么,但在删除缓存后我只能看到一次正确的 no-React 内容。但是一旦我打开 React 内容,Chrome 又开始将 "my domain/blog/" 视为 React 内容。

      然后我再次查看源代码,发现我使用了一个名为 Switch 的 React Router 功能。似乎 Switch 正在 React 中进行重写。

      所以我删除了 Switch 标签,终于问题解决了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-09
        • 2017-07-11
        • 2011-05-23
        • 1970-01-01
        • 1970-01-01
        • 2018-11-09
        相关资源
        最近更新 更多