尚品中国签约泛能网,构建泛能网数字化品牌官网升级
类型、:人工费自动化 了解更多[北京网站制作]基于Node.js、Express和Jscex开发的ToDo网站示例
的来源:尚品中国国|
内型:网页百科全书|
期限:2011-10-24
基于Node.js、Express和Jscex开发的ToDo网站示例
Jscex的主要使用场景是“JavaScript异步编程”,不过并没有限制是跑在浏览器还是服务器端。最近Node.js很火热,也刚发布了原生的Windows版,不少同学会用它来做一些网站这样的小程序。目前用Node.js开发网站最著名的框架是Express,使用起来也是比较容易的。前段时间看到CNodeJS社区的一篇文章,有同学将一个Python写的ToDo列表网站移植到了Node.js上,我为了推广Jscex,就fork了这个项目,将其修改为基于Jscex的版本,大伙儿可𒊎以来比较一下。当然这个网站过于简单,我也正在寻找更合适的项目。()
51CTO推荐专题:Node.js专区
JavaScript不是个没能堵赛形态的文学语言,如此几大类API都会设计的为异步,这关于服务培训器的伸缩杆性和加盟商端网络的加载失败力都是益处,不在流程网站上就会变故障 各个故障 了。随后在ToDo例子中的一两个非常简单的操作变量,毕竟所需查询网的数据系统库,要编成带去调的整体:- exports.index = function (req, res, next) {
- db.query('select * from todo order by finished asc, id asc limit 50', function (err, rows) {
- if (err) return next(err);
- res.render('index', { todos: rows });
- });
- };
- exports.jscexify = function (db) {
- db.queryAsync = function () {
- var _this = this;
- var args = [];
- for (var i = 0; i < arguments.length; i++) {
- args.push(arguments[i]);
- }
- var delegate = {
- onStart: function (callback) {
- args.push(function (err, result) {
- if (err) {
- callback("failure", err);
- } else {
- callback("success", result);
- }
- });
- _this.query.apply(_this, args);
- }
- };
- return new Jscex.Async.Task(delegate);
- }
- }
- exports.index = toHandler(eval(Jscex.compile("async", function (req, res) {
- var todos = $await(db.queryAsync('select * from todo order by finished asc, id asc limit 50'));
- res.render("index", { todos: todos });
- })));
- var toHandler = function (asyncFunc) {
- return function (req, res, next) {
- var task = asyncFunc(req, res);
- task.addListener(function () {
- if (task.status == "failed") {
- next(task.error);
- }
- });
- task.start();
- }
- }
我在todo.js里保留了原有各个处理函数的实现,感兴趣的朋友可以对比一下它们之前的差别。可惜的是,由于ToDo实在过于简单,Jscex的优势并没有表现出来太多。例如,每个处理程序中只有一个MySQL查询,没有判断和循环,更别说为了充分利用IO并发能力,从而组合多个异步函数了。因此,我最近也一直在寻找更复杂一些的示例,不过似乎用Express的开源网站并不多见,我几乎都想自己写一个了。目前感觉Nodepad似乎还算不错,接下来可能会对它下手。
ToDo网站依赖Express,ejs和MySQL驱动,同时我把Jscex作为添加为它的子模块。如果您要克隆一份ToDo的代码把玩一番,可以:
- > git clone git://github.com/JeffreyZhao/todo.git
- > cd todo
- > git submodule init
- > git submodule update
- > npm install express ejs mysql
- > node server.js
来源声明:本文章系尚品中国编辑原创或采编整理,如需转载请注明来自尚品中国。以上内容部分(包含图片、文字)来源于网络,如有侵权,请及时与本站联系(010-60259772)。
推荐新闻
更多行业-
网站制作的五大经验技巧分析
现在的你们的愈来愈越快的公司官网创作的有关的的唱片、视頻、靠谱的公司官网等情况升降你们投建... 2014-07-20 -
网站搜索引擎关键词精准排名技巧
SEO改进会面临最主要的网络推广方面!重要词排列有多为准?而对于关注刹车系统改进,在... 2020-08-28 -
网站制作与运营网站须关注的几点
互连网就越越风靡,就越就越的公交站点如秋雨犹如创立了了起来,已经好看一次小文章... 2013-03-11 -
现在什么才是真正的用户需求
到现在是什么才算是根本的观众供给?接着重庆网站下载修建子公司尚品国内 来和朋友们介绍一... 2015-11-21 -
北京手机移动端建站过程中提醒四点必须注重
转移端网 和个体笔记本网 的很大什么差别取决,在勾勒转移端网 时,要确定转移端设... 2020-06-26 -
政府门户网站建设要要全面、规范
武汉网 投建装修公司尚品中国国:要切实规程申请书excel表,涉及图像、app软件、音短视频格... 2012-09-08
如果您的网站可以增加转化次数并提高客户满意度,该怎么办?
预约专业咨询顾问沟通!
免责声明
极其感激您访问浏览企业的平台。在您便用本平台开始之前,请您缜密读本声明范文的全部的保险条款。
1、所有网站个大部分的内容来出自手机网络,必须有一个特定的功效的到的个大部分短文和画面著作权应属原著者,所有网站引用仅限于小伙伴深造和交流电,切忌主要用于任何人餐饮业活跃。
2、永久域名不负责用户的因实用这部分資源对属于自己和个别人引致丝毫风格的损害或输出。
3、本书面声明函未涉及面的间题参照一个國家的相关的英文一个國家法律法律规定法律法律规定规定法律法律规定法律法律规定规定规定,当本书面声明函与一个國家的一个國家法律法律规定法律法律规定规定法律法律规定法律法律规定规定规定矛盾时,以一个國家的一个國家法律法律规定法律法律规定规定法律法律规定法律法律规定规定规定是以。
4、假若侵入了您的非法财产权,请您直接与.我的,.我的会在一是时候删除图片相应方式!
联系方式:010-60259772
电子邮件:394588593@qq.com