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

时间:2016-01-29 09:39:03

标签: javascript node.js ember.js rethinkdb rethinkdb-javascript

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

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

"rethinkdb": "~2.0.0"

enter image description here

以下是我使用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。由于我不熟悉,我发现很难迁移。没有太多可用于在线使用emberjs的rethinkdb的代码示例。

1 个答案:

答案 0 :(得分:1)

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

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