部署 如何部署前后端分离的项目

july_12 · 发布于 2016年12月06日 · 最后由 small_fish__ 回复于 2016年12月06日 · 535 次阅读
8755

如果项目采用架构方式是:

后端:rails + API

前端:react/vue/angular.....前端框架

那么在生产环境该如何部署呢,是分开部署吗?这样会有跨域问题。那如果直接把前端项目编译/打包好的静态资源放在rails的public下,是否也可行呢?

有类似经验的同学能否分享下 :)

共收到 9 条回复
26252
kooglezhang · #1 · 2016年12月06日

之前做个的项目是 react on rails 集成,在同一个项目里,需要引入 gem react_on_rails 中间数据用 json模版传输

2564
kikyous · #2 · 2016年12月06日

是要分开部署的 如果是简单的项目不需要分开成两个项目可以使用 https://github.com/kikyous/sprockets-vue

20521
happyming9527 · #3 · 2016年12月06日 1 个赞

分开部署,但是也不一定需要跨域啊。可以用nginx配置一下,前端项目可以加个命名空间。比如/frontend,后端加上/api,然后在nginx里面做转发。前端项目打包后,基本上就一个index.html了吧,那需要nginx对所有/frontend开头的路由都转发到index.html上

8755
july_12 · #4 · 2016年12月06日

#1楼 @kooglezhang 嗯这个我尝试过, 但是在项目管理上还是觉得完完全全分开好点,因为不想前后端小伙伴的commit都同时在一个history下。

8755
july_12 · #5 · 2016年12月06日

#2楼 @kikyous 嗯是的,不过我倾向让前后端的同学在各自的项目目录下进行开发。

8755
july_12 · #6 · 2016年12月06日

#3楼 @happyming9527 嗯,所以还是配置nginx是关键啊。

26252
kooglezhang · #7 · 2016年12月06日

其实相当于你想完全前后端分开,中间用 API 做数据对接,跨域的问题中间用加密的接口就可以了

8755
july_12 · #8 · 2016年12月06日

#7楼 @kooglezhang 嗯是这样的,现在就是需要好好看看nginx的配置了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册