ember.js 如何将EmberJS增量集成到Rails Web应用程序中?

vkc1a9a2  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(106)

我们正在开发我们的开源密码管理器cryptopus https://github.com/puzzle/cryptopus。自上一个版本以来,我们集成了emberjs,并将一个又一个组件从经典的rails webapp更新为emberjs。目前,我们使用locationType:“hash”来触发emberjs部分。
我们现在面临的一个挑战是确保在将UI组件移到emberjs之后URL仍然是相同的,因此我们应该摆脱“hash”-emberjs的URL,并且仍然能够调用一些遗留的rails web应用程序URL。
有没有办法忽略emberjs中的路由并将请求发送到后端?有没有其他想法可以实现emberjs的增量集成?如果SPA在从类Rails Web应用程序URL返回后重新初始化,那就可以了。
一些示例路由:

/session/new -> send to rails backend
/teams -> handle by emberjs
/teams/42 -> handle by emberjs
/admin/users -> send to rails backend

还可以为所有Ember_s处理的路由添加前缀,如:/应用程序/团队,/应用程序/团队/42

vhmi4jdf

vhmi4jdf1#

我们找到了一个非常简单的解决办法。
1.在配置/环境.js中:已删除根URL,位置类型:“自动”
1.已在emberjs中配置所有必需的路由
1.在Rails中创建了一个前端控制器,它在第一次请求时提供ember文件
所以现在,应用程序的一些前端部分运行ember,其他部分仍然运行rails。ember路由器不关心未配置的URL。非常好的解决方案:)
请查看https://github.com/puzzle/cryptopus以了解完整的解决方案。

相关问题