如何使用Ruby on Rails在服务器端运行Javascript
How run Javascript on server side in Ruby on Rails
我打算用Ruby on Rails编写一个与比特币相关的Web应用程序。现在有一些非常有用的库,如Bitcoinjs或Bitcore,它们是用Javascript编写的,可以在客户端网络浏览器中运行,也可以在服务器端使用Node.js运行。然而,由于我打算用RoR编写这个应用程序,我想知道如何在服务器端利用这些库。是否有一种方法(即gem)允许在服务器上解释Javascript,或者我可以在我的RoR代码中启动Node.js实例,然后我可以解释这些Javascript库并执行其功能?如有任何帮助,不胜感激。
既然它看起来像你非常决心使用这些nodejs库,这里是我将如何去做它。因为在错误的环境中运行代码是一个非常糟糕的主意,所以我宁愿做这样的设置。
前端,ERB模板=>Rails服务器=>nodeJs服务器
这种设置背后的思想是,Rails更像是一个任务管理员,而nodeJs是工作人员。你的Rails应用程序会弄清楚需要发生什么,然后告诉nodeJs去做。然后Nodejs会用Rails呈现给用户的结果进行响应。
下面是一个例子:
前端有人要求你的应用程序将x比特币转移给其他人。然后,你的Ruby on Rails应用程序将执行任何非比特币任务(例如:登录,给人发消息)。然后,您的Rails应用程序将向nodeJs服务器发送请求,该服务器将实际执行比特币任务。
下面是如何实现这个设置。
- 使前端
- 将前端操作与Rails控制器连接 在nodeJs上创建RESTful HTTP API。
- 如果你还不知道RESTful API是什么,那就研究一下吧。这是一个完全不同的话题
- 为你希望应用程序执行的每个动作创建一个入口点。
- 让这个nodeJs服务器在本地运行,这样人们就不能通过你的Rails应用程序访问它
- 然后使用rest -client之类的东西来使用Rails应用程序中的nodeJs API
相关文章:
- Meteor如何运行服务器端python脚本
- 有没有一种方法可以在服务器端页面加载之前在加载时运行javascript
- 如何使用webpack处理仅在运行时可用的服务器端依赖关系
- 为什么可以't我得到连接客户端's的ip地址在我的服务器上运行Node.js+Openshift托管的W
- C#/ASP-web,ASP:在客户端执行复选框消息框,如果是,则运行服务器端代码
- 当通过cordova部署时,服务器端流星代码在哪里运行
- Rails:服务器端运行HTML和Javascript
- 在使用nodejs运行服务器端时,无法加载角度控制器文件
- 在 nodejs 服务器端运行传单
- 如何在 angularjs 中运行从服务器端拉取的 js 代码
- 如何在服务器端运行不受信任的代码
- 在服务器端运行 jquery 代码
- 如何在服务器端运行javascript文件
- 在服务器端运行代码
- 在服务器端运行javascript
- 如何使用Ruby on Rails在服务器端运行Javascript
- 始终保持脚本在服务器端运行
- 是否可以在服务器端运行jQuery
- 在服务器端运行gull.watch会导致更改后的文件在结果中丢失
- Javascript在客户端/服务器端运行