Articles of backbone.js

Node.js与CouchDB和Backbone.js一起工作,JSON如何被服务?

我正在尝试构build一个用于学习Node.js的testing应用程序。 我来自WordPress后台,Apache为我设置了大部分的后端逻辑。 但现在,我必须build立自己的。 我有一个关于如何从服务器端向客户端提供JSON文件的问题。 什么是工作stream – Backbone.js处理所有客户端数据处理,从couchDB发送/保存/获取/获取,从NODE.js后端服务JSON对象? 我使用Express Microframework来构buildHTTP服务器,安装了用于访问CouchDB NoSQL数据库的Cradle中间件。 我成功地将客户端HTML(Jade模板引擎)的数据发布到CouchDB数据库/文档,并能够通过Cradle中间件从服务器获取这些数据。 事情效果很好。 但这一切都是由后端完成的。 我想为我的客户端Javascript使用Backbone.js。 Backbone.js正在寻找从HTTP服务器发回的JSON对象。 摇篮中间件能够创buildJSON对象,但只能将它们直接发送到Jade模板,我可以使用Jade语法来循环遍历数据对象,但它仍然不能满足我想要的Backbone.js处理所有数据条目。 我意识到我需要通过ajax获取JSON obj(通过HTTP生成的文件,然后发送回客户端或发送直接对象到客户端)。 摇篮中间件无法做到这一点。 我对这个问题做了更多的研究。 我试过CouchApp ,它做我所需要的。 使用Backbone.js处理所有数据,从CouchDB数据库发送/保存/提取数据。 但是它在CouchApp中运行,它不是一个Express Node.js工作stream。 (也许我错了,或者只是没有如何工作) 我尝试了backbone-couchdb.js 。 我通过细节阅读,仍然不知道它会帮助我得到我想要的。 (也许需要更多的教程或代码示例)。 我仍然认为我需要一个骨干CouchDB驱动程序来连接这两个,并以某种方式通过NODE.js后端服务他们。 有没有人可以告诉我有关Node.js如何服务JSON文件,backbone.js如何与从CouchDB保存/读取/获取数据交互? 什么是最佳实践/工作stream程? 其他好的资源,代码示例,有用的工具?

我怎样才能使用Node来定制这个构build脚本?

我有一个独特的目录结构,我需要帮助build立脚本。 这里是链接 (略有不同)或目录结构: client /extensions /sandbox /widgets /form /collections /models /views /styles custom.css /controllers main.coffee server /views /layouts /errors app.coffee config.coffee 几件我需要的东西: 将一个监视任务的coffeescript编译成一个server-dist + client-dist 将所有其他文件复制到它们的嵌套文件夹中,最好还有一个监视任务 问题: 如果我只编译coffeescript,它只是将.coffee文件复制到.js到它们的嵌套目录中,但是会留下使用require.js加载的.css / imgs / etc。 我需要一种将它们引入到-dist目录的方法 / client文件夹中的Main.coffee是一个require.config,可以与requirejs grunt构build工具一起使用来优化事物。 无论如何,最简单的解决scheme是我正在寻找。

在Mongoose中,如何在具有.create(),.id()和.remove()function的模型中创buildMongooseArray / Collection

我的模式: Account: mongoose.model('Account', new Schema({ account_name: String, company: String, notes: String, contact_info: [this.ContactInfo] })), ContactInfo: mongoose.model('ContactInfo', new Schema({ name: String, email: String, phone: String, notes: String })) 当我尝试对contact_info做任何操作时,它说方法不存在。 var c = new ContactInfo…); var a = new Account(…); a.contact_info.create(c); //error, create doesn't exsit a.contact_info.push(c); //works a.contact_info.id(…).remove(); //id doesn't exist 难道我做错了什么? 我的完整代码在这里(不是太多): https : //github.com/nycitt/node-survey-builder-api-server/blob/master/accounts.js 顺便说一下,我从Backbone.js接收input

backbone.js和express:遇到一个查询string按字段search一个mongodb集合的麻烦

我是新来的骨干,快递和mongodb。 我想传递一个查询string按字段searchMongoDB集合。 我做错了什么。 如果我从路由器注释掉“获取”,则find页面。 如果我尝试获取,那么我得到一个页面未find错误。 我试图隔离它的中断,但骨干架构仍然让我感到困惑。 提前致谢。 (我打赌这是在我的mongodb调用语法问题)克里斯汀 这是我的代码。 这个URL应该返回“type”= 3的集合。 localhost:8888/#content/3 型号/ models.js: window.Content = Backbone.Model.extend({ urlRoot: "/content", idAttribute: "_id" }); window.ContentCollection = Backbone.Collection.extend({ model: Content, url: "/content" }); 意见/ content.js window.ContentListView = Backbone.View.extend({ initialize: function () { this.render(); }, render: function () { //return this; this.$el.append('<ul class="thumbnails">'); this.collection.each(function(model) { this.$('.thumbnails').append(new ContentView({model: model}).render().el); }, […]

如何使用Node.js在mysql上执行CURD

我在Node.js中是新的 那么我有使用PHP Laravel框架的客户端和服务器端骨干的经验。 我想知道以下连接/通信工作stream是正确的还是可能的: 我的应用程序正在使用Backbone及其堆栈进行devise,我可以使用Backbone模型/集合来进行服务调用。 但在服务器端可以使用Node.js创buildWeb服务(不需要使用像PHP这样的服务器端脚本)。 我在服务器端正确使用Node.js。 这里Node.js将对数据库执行CURD操作并以JSON格式返回结果。 请给我build议我们可以在这里做什么。

可能的范围界定问题

一个可能的node.js / backbone.js / socket.io范围问题我不能包裹我的头。 (片段) server.js var app = express(); var server = http.createServer(app); io = io.listen(server); (摘录自 index.html) <script type="text/javascript" src="/socket.io/socket.io.js"></script> <script> var socket = io.connect(window.location.origin); </script> (摘录自) js / views / map.js (function() { // self invoking anonymous function so we are able to // create the private variable "map" that can […]

Express如何处理路由,“#”是做什么的?

我已经安装了一个Express服务器,使用backbone.js与几条路线,我试图通过使用req.params的URL捕获信息。 我已经用适当的路由设置了我的服务器 app.get( '/route/:first/:second', router.routeHandler ); 用我的快递服务器,当我input这样的url: http://localhost:3000/route/firstVar/secondVar 我得到原始JSON返回给我,但是当我尝试一个这样的url: http://localhost:3000/#route/firstVar/secondVar 它会实际呈现HTML和CSS到页面。 那里发生了什么? 我可以改变这种行为吗? 那个设置在哪里?

我如何在node.js中使用require.js进行Gzip响应

我有一个正规的express.js应用程序,我正在使用 app.use(express.compress()) 来压缩gzip响应,现在当我转到node.js中的常规视图页面时,它们都显示为在浏览器中使用gzip服务。 但是,当我到达与骨干应用程序的页面,响应不gzipped。 也许我在这里错过了一些东西。 这就是我的app.coffee的样子: app = express() app.use(express.compress()) app.set "port", process.env.PORT or 3000 app.set "views", __dirname + "/views" app.set "view engine", "jade" app.engine 'hamlc', require('haml-coffee').__express app.use express.favicon() app.use express.logger("dev") app.use express.bodyParser() app.use express.methodOverride() app.use express.static(path.join(__dirname, "public")) app.use('/dist', express.static(__dirname + '/dist')); app.use('/docs', express.static(__dirname + '/docs')); app.use('/tmp', express.static(__dirname + '/tmp')); app.use require('connect-assets')() 对我来说,这似乎是一个普通的app.coffee。 这就是require.js如何加载的视图。 – […]

将服务器错误消息传递给客户端(使用Express和Backbone)

我一直在颠簸一下,有困难找出如何将服务器错误消息传递给客户端。 在我有(简化)的服务器上: export function get(req: express.ExpressServerRequest, res: express.ExpressServerResponse) { res.statusCode = 500; res.send('CUSTOM ERROR MESSAGE'); } 在客户端: public fetchObject(successF: Function, failF: Function): void { this.myObj = new MyObj(); this.myObj.fetch({ success: successF, error: failF }); } private failF(model, xhr, options): void { // Want to get access to "CUSTOM ERROR MESSAGE" } xhr对象的responseText是空的,statusText总是“错误”。 有什么build议么? 谢谢!

使用Underscore模板定界符的节点项目在EJS视图中发生冲突

有骨干项目使用下划线模板。 在服务器上使用nodejs并使用EJS呈现视图。 下划线模板使用与EJS相同的分隔符,并且由于下划线模板在我的.ejs视图中作为内联脚本标记,所以我收到了错误。 我尝试了下面的解决scheme: app.set('view options', { open: '{{', close: '}}' }); 它似乎仍然试图呈现下划线模板并抛出一个错误: <h2><%= title %></h2> title is not defined 看来在EJS中使用自定义分隔符只是增加了接受而不是改变它们的标签的types。 我也无法find一种方法来吐出原始的HTML,就像你可以在哈姆。