文档章节

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

i5ting
 i5ting
发布于 2015/06/14 09:51
字数 611
阅读 1212
收藏 18
点赞 2
评论 8

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全栈】

node全栈.png


© 著作权归作者所有

共有 人打赏支持
i5ting
粉丝 185
博文 68
码字总数 98509
作品 3
东城
加载中

评论(8)

i5ting
i5ting

引用来自“Klaus88”的评论

有空就弄咯,大神啊[13]
恩,尽快
i5ting
i5ting

引用来自“i5ting”的评论

在考虑要不要弄一套视频出来,大家有需求么?

引用来自“肚子古德”的评论

有需求,快来。对了,你的那个具体小的学习点有学习资料链接的收集吗
收到,尽快整理
i5ting
i5ting

引用来自“i5ting”的评论

在考虑要不要弄一套视频出来,大家有需求么?

引用来自“肚子古德”的评论

有需求,快来。对了,你的那个具体小的学习点有学习资料链接的收集吗
稍后整理吧
嗨椒爆炒小小鱼
嗨椒爆炒小小鱼

引用来自“i5ting”的评论

在考虑要不要弄一套视频出来,大家有需求么?
有需求,快来。对了,你的那个具体小的学习点有学习资料链接的收集吗
前冲
前冲

引用来自“i5ting”的评论

在考虑要不要弄一套视频出来,大家有需求么?

有啊
Klaus88
Klaus88
比较喜欢q
Klaus88
Klaus88
有空就弄咯,大神啊[13]
i5ting
i5ting
在考虑要不要弄一套视频出来,大家有需求么?
Node.js最新Web技术栈(2016年4月)

Node.js最新Web技术栈(2016年4月) 上一次的发布的是精华 Node.js最新Web技术栈(2015年5月),感谢大家喜爱,值此koa2.0发布后,决定再次升级技术栈 Node.js是比较简单的,只有你有前端js基...

i5ting ⋅ 2016/04/01 ⋅ 10

全栈工程师之路-Node.js

全栈工程师之路-Node.js 高可用架构专用 原文[高可用架构] https://mp.weixin.qq.com/s?biz=MzAwMDU1MTE1OQ==&mid=405001493&idx=1&sn=f0ecab9b31bad83fb065ac37bb728245&scene=1&srcid=032......

i5ting ⋅ 2016/04/08 ⋅ 0

全栈工程师之路-Node.js

全栈工程师之路-Node.js 高可用架构专用 原文[高可用架构] https://mp.weixin.qq.com/s?_biz=MzAwMDU1MTE1OQ==&mid=405001493&idx=1&sn=f0ecab9b31bad83fb065ac37bb728245&scene=1&srcid=03......

i5ting ⋅ 2016/04/08 ⋅ 1

展望Nodejs 2016和新年祝福

展望Nodejs 2016和新年祝福 《素书》里讲“推古验今,所以不惑”,所以我们先回顾一下2015年nodejs的国内外发展,继而展望一下我的2016年关于nodejs的想法和新年祝福 回顾一下2015年 http:/...

i5ting ⋅ 2016/02/08 ⋅ 6

Node.js VS PHP:Web 开发的史诗级对决,你支持谁?

现在,Web开发公司和开发人员可以选择多种技术栈来构建Web应用程序。早期网络发展,不同的技术被用于前端和后端开发。但是,随着Node.js的发布,布局发生了变化,因为它允许开发人员使用 Ja...

uzv80px5v412ne ⋅ 2017/12/29 ⋅ 0

细谈Node.js----我的笔记

学习心得 如何利用Javascript做为服务端脚本,通过Nodejs框架web开发。Nodejs框架是基于V8的引擎,是目前速度最快的 Javascript引擎。chrome浏览器就基于V8,同时打开20-30个网页都很流畅。N...

crossmix ⋅ 2016/01/04 ⋅ 0

Node基金会时间点

https://nodejs.org/foundation/ Node基金会时间点 二月 10 : 在Node.js 最高级会谈发表声明 二月-五月 : 创建议事程序和法律文档 二月-六月 : 增加其他基金会成员 五月 : 合并 Node.js 和 ...

i5ting ⋅ 2015/06/17 ⋅ 0

Node.js 7.0 预计在9月30日发布,支持async/await,Koa 2.x也将随之发布

https://github.com/nodejs/node/milestone/15?closed=1 We did change the naming of v6 from Stable to Current as well, so Iam assuming that v7 will also be named as "Current" vs "S......

i5ting ⋅ 2016/09/27 ⋅ 11

Node.js 7.0预计在9月30日发布,支持async/await,Koa 2.x也将随之发布

https://github.com/nodejs/node/milestone/15?closed=1 We did change the naming of v6 from Stable to Current as well, so I am assuming that v7 will also be named as "Current" vs "......

i5ting ⋅ 2016/09/25 ⋅ 0

Nodejs学习路线图

Node.js的介绍 Node.js的是建立在Chrome的JavaScript的运行时,可方便地构建快速,可扩展的网络应用程序的平台。Node.js使用事件驱动,非阻塞I/O模型,轻量、高效,可以完美地处理时时数据,...

数通畅联 ⋅ 2016/01/26 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

骰子游戏代码开源地址

因为阿里云现在服务器已经停用了,所以上面的配置已经失效。 服务端开源地址:https://gitee.com/goalya/chat4.git 客户端开源地址:https://gitee.com/goalya/client4.git 具体运行界面请参考...

算法之名 ⋅ 37分钟前 ⋅ 0

设计模式--装饰者模式

装饰者模式 定义 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。 通用类图 意图 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比...

gaob2001 ⋅ 今天 ⋅ 0

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部