Tag: backbone.js

在服务器和客户端之间共享JavaScript模型代码,这种方法是否有效?

我开始学习Node.js和Backbone。 我想分享服务器和客户端之间的一些代码(涉及[1]和[2] )。 更深层次: 共享模型的默认值 。 默认值用于填充表单(客户端),而在服务器端执行 共享validation规则 ,以便DRY并执行客户端/服务器validation 共享实例方法 所以我的想法是使用factory对象封装通用代码(默认,validation规则,公共实例方法),并根据环境(Node.js或AMD模块)调整factory对象。 此代码是快速和肮脏的,可能无法正常工作。 这是一个好方法还是浪费时间? (function (factory) { if (typeof exports === 'object') { // Node.js var config = require('../config/config.json'), Sequelize = require('sequelize'), _ = require('underscore'); var User = { receiveSms: { type: Sequelize.BOOLEAN, allowNull: false }, receiveNewsletter: { type: Sequelize.BOOLEAN, allowNull: false } }; // Add […]

获取TypeError:在Backbone.js中创build集合时,d.collection是未定义的错误

我是Backbone.js.的新手。我尝试在Backbone中创build集合,同时创build“d.collection是未定义错误”的错误。 $(function(){ var MyModel = Backbone.Model.extend(); var MyCollection = Backbone.Collection.extend({ url: '/index.html', model: MyModel }); var coll = new MyCollection(); coll.fetch({ error: function (collection, response) { console.log('error', response); }, success: function (collection, response) { console.log('success', response); } }); }); 此外,我需要处理的Backbone.How快递路线方法的结果如何处理.. app.js app.all('*',function(req,res){ var result={a:'a',b:'b',c:'c'}; res.writeHead(200, {'Content-Type': 'text/json'}); res.write(JSON.stringify(result)); res.end(); });

在玉这是如何解释? <%= lastName%>

我目前有这样的代码,但名字显示的方式显示。 我想弄清楚这是玉是什么,因为这是不对的。 玉文件 div.centerContent script(type="text/javascript", src="/js/main.js") h4 User goes here with equal before it no space div#user p!= "<%=firstName%>" | <%=lastName%> p!="<%= email %>" p <%=phone%> p <%=birthday%> button.edit Edit script(id="userTemplate", type ="text/template") p <%=firstName%> <%=lastName%> p <%=email%> p <%=phone%> p <%=birthday1%> button.edit Edit script(id="userEditTemplate", type ="text/template") div form(action="#") input(type="text", class="firstName", value="<%= firstName %>") input(type="text", […]

骨干模型不是呈现默认? 需要玉和骨干大师

嘿所以我有一个问题,我的模板改变,但骨干模型似乎并没有提供我所需要的信息。 我试图解决这个问题,所以我可以继续收集。 我没有得到任何错误,我正在使用句柄,但也尝试了下划线的模板以及问题不在于那里,但对信息显示。 当我点击编辑和编辑模板显示它显示未定义的#{firstName}和其他人。 Main.js文件 (function () { window.App = { Models: {}, Collections: {}, Views: {}, Templates: {}, Router: {} }; // MODEL App.Models.User = Backbone.Model.extend({ defaults: { firstName: 'first', lastName: 'last', email: 'Email', phone: '222', birthday: 'date' }, validate: function (attrs) { if (!attrs.firstName) { return 'You must enter a real first name.'; […]

与Express.js沟通骨干的最佳方式

我正在开发Node.js&Express&Backbone&MongoDB应用程序。 我有一个通过url获取的项目列表。 在那个列表中,我想把一个select按价格sorting项目。 我不知道这是做这种sorting的最佳方式,也许我必须把链接在select与确定的url,像[url]&sorting= 1,并拿取它像我拿到所有项目,或者我可以不使用链接从另外一个优化的方式从骨干获取这个集合? 感谢和问候

主干,js和node.js呈现和路由

嘿家伙很好,即时通讯新手骨干和节点,即时尝试制作自己的networking应用程序,即时通讯使用节点快递。 所以我在cmd中完成了“myappname”这个命令,并且得到了一个漂亮的应用程序结构。 添加主干jQuery等,现在就我所知,我可以使用快递路线就像: app.get("location" , require('./routes').index); 然后在我的路线/索引 我有这个中间件: exports.index = function(req, res){ res.render('index', { name: you }); }; 即时通讯也使用手柄,我的文件index.html看起来像这样: <div> {{name}} <div> 直到这里一切都清楚了 – 当客户端需要“/”页面时,他得到了index.html页面,该页面使用handlebars呈现并将一个对象传递给index.html输出 <div>you</div> 我的问题是骨干进来的时候! 作为路线的骨干也渲染也.. 所以我应该在哪里呈现和路由我的应用程序? 使用服务器上的节点? 或在客户端使用骨干网? 如果我不在骨干上呈现我的应用程序,我仍然可以使用主干进行更新我的模型? 当使用节点时,我如何使用主干进行渲染? 即时通讯如此混乱! 我知道节点它在服务器端和配偶照顾路由GET / POST / UPDATE等要求也与数据库等这样的,而骨干只是照顾客户端和来回发送数据。 我读过Addy Osmani的“开发Backbone应用程序”,他展示了一个使用骨干和节点的REST风格的Web应用程序,但没有足够深入,他没有在服务器上渲染,也没有路由多个页面,他只是显示一个简单的get / post / update / delete requsets。

使用JavaScript和Jade添加到localStorage

与Jade有关的问题以及数据在呈现时传递给它的方式。 我试图保存[{key1: "val1", key2: "val2"}, …}]; 格式,但有问题,因为它显示为下面的结果。 结果 key: xyz value:[{&quot;artist&quot;:&quot;Lady Gaga&quot;,… 这是我正在使用的服务器端Node.js正在传递它的代码… res.render('musics', { title: 'site', result: JSON.stringify(result) }); 这是我有问题的代码,因为我必须调用结果玉… script function local (arr) { var i; i = "#{result}"; localStorage.setItem('xyz', i); } console.log('stored'); local(); 结果周围的引号搞砸了,但没有他们,我得到意外的标识符错误… 任何build议,或者如果最好通过骨干(这是我使用的客户端)ajax路线我愿意,只是要指出 – 数据被刮,通过select一个forms职位 – 所以数据回来后,是一个准时转移,所以如果我做了一个Ajax调用它将不得不包括职位和获得,否则我不知道如何接收它…也许res.json(结果)在服务器端,但是然后页面需要渲染以某种方式…打开build议。 谢谢! 最终,我希望它进入localStorage没有“围绕一切。

如何创build一个基于Node JS,MongoDB,Sails JS的dynamic前端

基本上我正在编写一个应用程序,并在后端使用Sails,MongoDB和Node JS。 我将使用Sail的APIfunction,并想知道什么是实时制作应用程序的最佳方式。 例如,我可以使用AJAX来调用API并使用jQuery来操纵DOM,并通过$.post更新数据库,然后让模型更新后端数据库,但是我发现这种方法非常麻烦。 更何况我可以看到一段时间后代码可能变得很难维护。 我一直在做一些研究,如果我的理解正确 – 似乎我可以使用Backbone,Angular或Knockout来处理前端的数据/ DOM,但是我不确定在我的最佳方法是什么也不论这些案例是否确实适合我的需要: 能够dynamic获取数据 当用户与页面交互时,dynamic更新数据和DOM 尽可能dynamic地发布更新后的数据,或在后端尽可能less地进行数据转换 所有上述asynchronous 由于我不希望这个问题成为关于哪个图书馆是最好的激烈辩论,所以我只想知道上述任何一个图书馆是否可以做我所需要的,哪一个最简单/最简单/哪一个学习曲线更轻。

为Node.js服务器+ SPA javascript框架设置自动化BDDtesting环境的简单方法?

这是我的项目的设置: 前端:Angular.js / Backbone.js SPA应用程序 后端:Node.js + NoSQL数据库作为后端 testing: 已经有Karma成立SPAtesting(模拟JSON响应) 已经为Node.js设置了Mocha,并为testing数据库设置和拆卸提供了一个独立的“testing”环境 现在,当我尝试设置集成BDDtesting(即启动节点服务器,启动浏览器并在浏览器内部运行SPAtesting,实际JSON调用到后端)时,问题就出现了。 经过一番search,我找不到一个简单明了的解决scheme,所以我想我会在这里问,所以处于类似情况的其他人也可以从中得到答案。 谢谢!

backbone.js图片上传

我正在使用nodecellar来更好地理解backbone.js,并且遇到了一个类似的问题,这个问题得到了很好的回答,但是,答案似乎并不适用于我: 我正在尝试做什么。 使用Nodecellars wineview,我试图利用拖放function,上传图像。 我已经logging了一个以前很好回答的问题,基本上说,你必须禁用dragover的默认行为,所以我有以下在我的酒视图: events: { "change" : "change", "click .save" : "beforeSave", "click .delete" : "deleteWine", "drop #profile" : "dropHandler", "dragover #profile" : "dragover", 'dragenter #profile' : 'alertMe' }, 那么我的dragover事件看起来像这样: dragover: function(event){ console.log('drag over event called'); event.preventDefault(); }, 这很好,因为控制台日志在被触发时被调用。 这个拖拽操作符看起来像这样: dropHandler: function (event) { event.stopPropagation(); event.preventDefault(); var e = event.originalEvent; e.dataTransfer.dropEffect = 'copy'; […]