0

我是 EmberJS 和 RethinkDB 的新手。我正在使用 rethinkDB 的 changefeeds 来获取用户特定的数据,以使用 emberjs 创建 Web 推送通知应用程序。

我用 nodejs 和 socket.io 创建了相同的内容。它工作正常。我想将其转换为 emberjs 代码。但是当我尝试在 bower.json 中包含 rethinkdb 时。我收到一条消息“找不到包 RethinkDB”。

"rethinkdb": "~2.0.0"

在此处输入图像描述

下面是我使用 Socket.io 和 RethinkDB 的 Nodejs 工作代码

服务器.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/");

主页.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。

4

1 回答 1

1

由于您的客户端代码不包含 RethinkDB 特定代码,因此您应该查找 socket.io 以获取 ember。emberjs 有几种实现。

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

于 2016-01-29T12:13:58.930 回答