如何在Reactjs中将任意目录用作静态目录

时间:2017-12-04 20:23:36

标签: reactjs

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

我也有基于Wordpress的博客。

当我将博客内容放在博客目录上时,React会显示404未找到的页面,因为除 静态 之外的所有内容都由React管理。

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

但我正在努力做到这一点。

是否有反应脚本构建的选项或设置文件?
比如react-scripts build --static-directories static,blog
你能帮我吗?

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

提前致谢。

[更新]即使我把静态文件放在静态目录中,我也无法访问它。事实证明我需要从Reactjs文件中导入该静态文件...

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

[求助]问题是2倍 服务器端和客户端。

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

现在,Safari可以正确理解 “我的域名/博客/”

但Chrome仍在ReactJS中处理 “我的域名/博客/”

我不明白为什么但删除缓存后我只能看到正确的no-React内容。但是,一旦我打开React内容,Chrome就会再次开始将 “我的域名/博客/” 视为React内容。

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

所以我删除了Switch标签,最后问题解决了。