这几篇都是我原来首发在 segmentfault 上的地址:https://segmentfault.com/a/1190000005040834 突然想起来我这个博客冷落了好多年了,也该更新一下,呵呵 前篇 使用React.Node.js.MongoDB.Socket.IO开发一个角色投票应用的学习过程(一) 使用React.Node.js.MongoDB.Socket.IO开发一个角色投票应用的学习过程(二) 原文第十三步,Express API路由 第一个路由是用来创建角色的 app.po…
前言 上一节让我们对Node.js有一个初步的了解,那么现在可以开始正式学习下Node.js的开发了,但是任何一门语言要设计到开发,就必须先学习开发环境以及调试.本文将主要讲解这些内容. 本文涉及到的代码全部可在github地址找到>>>node 代码 安装 点击查看>>>node 中文官网地址 [版本选择] 看图发现包含两种版本:长期支持的稳定版本 以及 当前发布版(包含很多最新的特性) 安装的过程就省略了... 开发环境 那么我们如果想要开发一个node程序,需要什…
本文,将使用fs开发一种简单的文件型数据库. 数据库中,记录将采用JSON模式,内容型如: {"key":"a","value":"123"} 支持查询.更新.删除操作. 代码分两部分,一部分是我们将其写为模块,另一部分,是对该模块的调用. 直入主题, 模块部分(文件名:database.js): //核心模块 var fs = require("fs"); var event_emitter = requ…
NodeJS有丰富的三方模块,借助这些模块,可以快速的开发各类应用.这使用Nodejs可以进行很便捷.快速的开发. 1.安装与加载模块内核.三方 使用npm可以搜索.安装.卸载模块. 例: 搜索模块 用:npm search 模块名 一般来说,会搜到很多内容,为了找到自己最需要的,搜索时可以用正则表达式进行匹配,如: npm search /^express$/ 安装模块: npm install 模块名 安装后,便可以使用require语句进行加载: 2.创建我们自己的模块 我们可以使用Nod…
沪江CCtalk视频地址:https://www.cctalk.com/v/15114923887518 处理错误请求 爱能遮掩一切过错. 当我们在访问一个站点的时候,如果访问的地址不存在(404),或服务器内部发生了错误(500),站点会展示出某个特定的页面,比如: 那么如何在 Koa 中实现这种功能呢?其实,一个简单的中间件即可实现,我们把它称为 http-error.实现过程并不复杂,拆分为三步来看: 第一步:确认需求 第二步:整理思路 第三步:代码实现 确认需求 打造一个事物前,需要先确…
沪江CCtalk视频地址:https://www.cctalk.com/v/15114923883523 log 日志中间件 最困难的事情就是认识自己. 在一个真实的项目中,开发只是整个投入的一小部分,版本迭代和后期维护占了极其重要的部分.项目上线运转起来之后,我们如何知道项目运转的状态呢?如何发现线上存在的问题,如何及时进行补救呢?记录日志就是解决困扰的关键方案.正如我们每天写日记一样,不仅能够记录项目每天都做了什么,便于日后回顾,也可以将做错的事情记录下来,进行自我反省.完善的日志记录不仅能…
视频地址:https://www.cctalk.com/v/15114923888328 视图 Nunjucks 彩虹是上帝和人类立的约,上帝不会再用洪水灭人. 客户端和服务端之间相互通信,传递的数据最终都会展示在视图中,这时候就需要用到『模板引擎』. 什么是模板引擎? 模板引擎是为了使用户界面与业务数据分离而产生的,可以生成特定格式的文档.例如,用于网站的模板引擎会生成一个标准的 HTML 文档. 市面上常见的模板引擎很多,例如:Smarty.Jade.Ejs.Nunjucks 等,可以根据个…
流是Nodejs的高级应用,掌握流的使用,才能真正胜任NodeJS开发. Nodejs中,流是基于事件的API,用于管理和处理数据,而且效率很好! 什么是流? 流是一个抽象接口,Node 中有很多对象实现了这个接口. 例如,对http 服务器发起请求的request 对象就是一个 Stream,还有stdout(标准输出)等. 流的四种类型 dable - 可读操作. Writable - 可写操作. Duplex - 可读可写操作. Transform - 操作被写入数据,然后读出结果. 流的…
基于 Angularjs&Node.js 云编辑器架构设计及开发实践 一.产品背景 二.总体架构 1. 前端架构 a.前端层次 b.核心基础模块设计 c.业务模块设计 2. Node.js端设计 三.单元测试 四.持续集成及自动部署 五.打包 六.总结 一.产品背景 产品是一个内部项目,主要是基于语义网本体的云端编辑器,用于构建语义知识库.抛开语义网本体概念不谈 ,简单说就是一个简易的visual studio 云端编辑器.而图形显示则是在百度脑图的基础上改进的,增加了自己的形状和颜色,以及其他…