Node.js最新Web技术栈(2015年5月)

nodejs是比较简单的,只有你有前端js基础,那就按照我的办法来吧!一周足矣

推荐技术栈

  • express 4.x (express最新版本,初学者先别去碰koa)
  • mongoose(mongodb)
  • bluebird(Promise/A+实现)
  • jade(视图层模板)
  • mocha(测试)
  • node-inspector(调试)

https://github.com/i5ting/express-starter

了解http协议,尤其是表单和ajax传值,在req里如何接收

  • 绝对地址和相对地址
  • querystring
  • url 和 uri
  • http status code
  • http verbs
  • req取参数的3种方法
  • 3种不同类型的post
  • 命令行玩法
  • supertest用法
  • what is rest?

http://i5ting.github.io/node-http/

了解db相关操作,先以mongoose为主

  • crud(增删改查)
  • 了解分页
  • 了解关系(1对1,1对多)在mongoose里如何实现
  • 了解statics方法和methods的区别
  • 了解pre和post的差别
  • 了解mongoose的插件机制
  • 了解mvc里m的作用,以及什么样的代码该放到模型里
  • 了解索引优化
  • 了解mongodb的部署

了解Promise/A+规范,合理规避回调陷阱

  • 了解的node的异步
  • 了解异步的恶心
  • 了解异步基本场景,比如waterfall这样的路程使用async如何处理
  • 了解q和bluebird用法(如果有angularjs经验,推荐q,其他只推荐bluebird)
  • 了解bluebird的promisifyAll用法
  • 了解如何重构流程,以及代码的可读性

使用tdd/bdd测试,最小化问题

测试的好处,这里就不说了,但是有一点是要说的,node的调试比较难,往往不如写测试来的快,推荐学习一下

  • 理解最小问题思想,培养程序员该有的强大的内心
  • mocha的基本用法
  • 理解assert/should/expect等断言的用法
  • 理解测试生命周期
  • 理解done回调
  • 理解如何模拟数据
  • 理解http下的supertest测试
  • 理解测试覆盖率
  • 理解基于gulp自动化测试方法

如果有兴趣,可以去了解更多bdd/tdd内容,甚至是cucumber.js

你无论如何都要会的:调试

调试有3种方法

  • node debug(太挫了,如果不是c,了解adb之类的人不推荐用)
  • node-inspector(推荐4※)
  • tdd/bdd(推荐5※)

更多内容和视频见

https://cnodejs.org/topic/5463f6e872f405c829029f7e

欢迎关注我的公众号【node全栈】

时间: 2024-10-12 02:42:02

Node.js最新Web技术栈(2015年5月)的相关文章

快速使用node.js进行web开发

首先关于node.js的学习,这里推荐一本比较好的教程,nodejs web开发指南,该书通俗易懂地将node.js语言特性讲解完之后,又从一个项目角度带领读者使用node.js学习web开发.相信这是一个比较好的学习模式和过程.由于这本书是2012年出的,书中的一个web教学项目是开发一个微博.从2012到现在,node.js及其生态环境发生了很大改变,所以关于该书的学习如果照着书本显然是过于陈旧的.到目前为止,node.js的web开发框架已经升级到了Express4.12.1,对于Mong

Node.js 没有Web容器

Node.js 特点 1.单线程 在Java.PHP或者.net等服务器端语言中,会为每一个客户端连接创建一个新的线程.而每个线程需要耗费大约2MB内存.也就是说,理论上,一个8GB内存的服务器可以同时连接的最大用户数为4000个左右.要让Web应用程序支持更多的用户,就需要增加服务器的数量,而Web应用程序的硬件成本当然就上升了. Node.js不为每个客户连接创建一个新的线程,而仅仅使用一个线程.当有用户连接了,就触发一个内部事件,通过非阻塞I/O.事件驱动机制,让Node.js程序宏观上也

Node.js 的Web 服务器--Fenix

Fenix 是提供给开发人员使用的简单的一个 Web 服务器, 是基于 Node.js 开发.可以同时在上面运行很多的项目, 最适合前端开发人员使用. 可以通过免费的 Node.js 控制台创建,停止,启动和共享 Fexix 服务器. 您可以通过把你的桌面变成一个公共的 Web 服务器,让大家能看到你的web服务. Fenix官方 Node.js 的Web 服务器--Fenix

基于Node.js的web聊天系统 - 真正意义上的web实时聊天系统

简单介绍一下这个实时web聊天系统的功能,首先进入系统的人填入名字和邮件地址后会获取到一个由系统创建的URL地址,你可以把这个地址发给另外一个人,另外一个人进入系统后就可以和你进行实时的聊天对话咯.主要用到了Node.js和socket.io 两个库,另外还用到了的库有express,  gravatar, ejs, 具体细节查看package.json,需要的这些库如果本地没有的话运行会报错的,需要使用npm install 安装.大家可以下载demo源代码进行运行测试. 源代码下载后解压有如

Express 4.x Node.js的Web框架

为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3821150.html 本文使用node.js v0.10.28 + express 4.2.0 1 Express概述 Express 是一个简洁而灵活的node.js的MVC Web应用框架,提供一系列强大特性创建各种Web应用. Express 不对 node.js 已有的特性进行二次抽象,我们只是在它之上扩展了We

node.js 11 Web框架Express 介绍,安装,静态页面,路由

本文参考原文-http://bjbsair.com/2020-03-22/tech-info/2815/前面介绍了node.js的文件模块,http server以及静态网站的创建.有了这些知识作为基础,我们可以了解一下node.js的Web框架了. 从Java一路过来的朋友可能觉得Web框架还是比较重量级的,比如最初的Struts到后来的Spring,中间Apache组织也有过一些其他的模板框架,总体而言无论是从使用还是学习来讲,都是需要花费较多时间的.对于大型应用而言,这个投入是值得的.如果

创业笔记-Node.js入门之一个完整的基于Node.js的web应用

用例 我们来把目标设定得简单点,不过也要够实际才行: 用户可以通过浏览器使用我们的应用. 当用户请求http://domain/start时,可以看到一个欢迎页面,页面上有一个文件上传的表单. 用户可以选择一个图片并提交表单,随后文件将被上传到http://domain/upload,该页面完成上传后会把图片显示在页面上. 差不多了,你现在也可以去Google一下,找点东西乱搞一下来完成功能.但是我们现在先不做这个. 更进一步地说,在完成这一目标的过程中,我们不仅仅需要基础的代码而不管代码是否优

使用Node.js进行Web开发(一)

本文介绍Express框架.MVC设计模式.ejs魔板引擎以及MongoDB数据库的操作. 首先要知道Node.js实现网站的工作原理是实现动态网页,也就是说由服务器动态生成HTML页面. MVC(Model-View-Controller,模型-试图-控制器)是一种软件的设计模式,即把一个复杂的软件工程分解为三个层面:模型.试图.控制器. 模型是对象及其数据结构的实现,通常包含数据库操作. 试图表示用户界面,在网站中通常就是HTML的组织结构. 控制器用于处理用户请求和数据流.复杂模型,将输出

Node.js 的Web server--Fenix

Fenix 是提供给开发者使用的简单的一个 Web server, 是基于 Node.js 开发. 能够同一时候在上面执行非常多的项目. 最适合前端开发者使用. 能够通过免费的 Node.js 控制台创建,停止,启动和共享 Fexix server. 您能够通过把你的桌面变成一个公共的 Web server,让大家能看到你的web服务. Fenix官方