我正在和一些同事一起做一个相当大的项目,他们是Django的一半。我正在处理React (用create-react-app创建,然后弹出)。这两个项目都生活在同一个回购中,并与nginx协调,使其看起来像最终用户pov中的一个项目。我遇到的问题是,这两个项目似乎都坚持将它们的静态文件夹命名为static,这会在nginx中产生路由问题。现在,React被路由到一个proxy-pass端口,Django被路由到另一个端口,否则这个端口就能正常工作了。
我想做的是:
PUBLIC_APP变量重命名为React的一半,这样所有的React静态文件都可以通过urls (例如,/react-project/static )来区分。到目前为止,我还没有找到一种方法来持续地重命名所有的静态文件,这似乎是一个出色的反应错误。/static/路由路由到Django代理,如果没有找到,则将其路由到React代理。我没有多少nginx的经验,似乎无法使语法工作。我想要这样的东西: try_files $uri @django-project
proxy_pass http://react-project:0000
}
@django-project {
proxy_pass http://django-project:0000
}如果我没有给出足够的信息/代码,请告诉我!
发布于 2022-07-01 03:07:10
好的,我想我找到了解决这个问题的办法。通过在React项目的根部创建一个.env文本文件并在那里添加一个PUBLIC_URL,然后添加与React路由器中的basename和package.json中的homepage相同的字符串,我似乎已经将所有静态文件强制放入react-project/static文件夹中。以前,我有时会得到一个复制的react-project/react-project url,但我有点疯狂,我不知道我是如何做到的。
希望这对其他人有帮助!
https://stackoverflow.com/questions/72823845
复制相似问题