如何将 RethinkDB 与 EmberJS 框架一起使用?

How can I use RethinkDB with EmberJS framework?

我是 EmberJS 和 RethinkDB 的新手。我正在使用 rethinkDB 的 changefeeds 来获取用户特定数据,以使用 emberjs.

创建网络推送通知应用程序

我用 nodejs 和 socket.io 创建了同样的东西。它工作正常。我想将其转换为 emberjs 代码。但是当我试图在 bower.json 中包含 rethinkdb 时。我收到一条消息 "Package RethinkDB not found"。

"rethinkdb": "~2.0.0"

下面是我使用 Socket.io 和 RethinkDB

的 Nodejs 工作代码

server.js

var sockio = require("socket.io");
var app = require("express")();
var r = require("rethinkdb");
var http = require('http');

var io = sockio.listen(app.listen(3000), {log: false});

app.get('/', function (req, res) {
    res.sendFile(__dirname + '/home.html');
});



r.connect({host: 'localhost', port: 28015})
.then(function(conn){return r.db('my_db').table('user_feeds').changes().run(conn);})
.then(function(cursor){cursor.each(function(err, data) {         
    io.emit('feeds', data);  
    console.log("after Data >>>>>\n"+JSON.stringify(data));
});});

console.log("server started @ http://127.0.0.1:3000/");

home.html

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Asset Tracker</title>
<script src="https://cdn.socket.io/socket.io-1.4.5.js"></script>
<script type="text/javascript">
window.onload = function() {
var socket = io.connect();
socket.on("feeds", function(data) {  
  document.getElementById("feeds").innerHTML = JSON.stringify(data);

});
};
</script>
</head>
<body>
<div id="feeds"></div>
</body>
</html>

我想把上面的代码迁移到emberJS。由于我是 ember 的新手,我发现很难迁移。在线使用 emberjs 的 rethinkdb 可用的代码示例不多。

由于您的客户端代码不包含 RethinkDB 特定代码,因此您应该寻找 socket.io for ember。 emberjs 有多种实现。

bower 中没有发布 rethinkdb 包。您也可以在浏览器中使用一个 npm 包。