由于express升级到3.0,造成这本书看起来more and more蛋疼。记录少许坑儿,方便后来人。

一、node.js在windows下的安装

书中在两处介绍了两种方式,其实现在的node.js在windows下只需要下载一个.msi文件安装就可以,那个什么python支持可以浮云了。

二、express中使用ejs创建工作目录

1、书中给出的 express -t ejs projName 参数-t在3.0中已经改为-e。

默认安装的为jade而不是ejs,所以创建出来的目录结构会不一样

2、创建成功的ejs目录结构中views文件夹中无layout.ejs文件,即使手动创建express也不会自动去套用。

这是因为express3.0已经不支持layout.ejs

3、片段视图中的<%- partial('XX',ejsName) %>无效,提示partial未定义

这是因为express3.0已不支持,可通过如下方法解决

在package.json里面的dependencies添加"express-partials": "*"
然后运行cmd并切换至项目目录运行npm install获得最新版。
app.js里面引用express-partials:
1 添加引用var partials = require('express-partials');
2 在app.set('view engine', 'ejs');下面添加app.use(partials()); 来源:http://cnodejs.org/topic/50c1a0ed637ffa4155d05256

三、其他

书中很多内容由于express升级到3.0导致不可用,需要调整用法,具体参见express3.0的API。

更多关于express2.0 to express3.0的差异请参考http://jser.me/2012/12/10/Express2.X%E8%BF%81%E7%A7%BB%E8%87%B33.X%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9.html

书看到创建网站实例的时候就已经蛋疼的看不下去了,断断续续看了好久,发现技术还是与时俱进看网上文档的好。

另外关于本书案例后面几章概念性的介绍,如果之前你对node.js一点了解都没有,或者这本书已经成为了你的第一本书,书中的工程代码看一看理解一下,顺序看一看后续章节对原理的理解还是有很大好处的,并且最爱的一个话题为“node.js不是银弹”,任何技术都有弊端,了解node.js的缺点才能更好的使用它。

All in all,根据查询各种人的建议资料得出以下结论:

1、模板还是改用jade吧,ejs实在是不太有爱!

2、express升级到3.0给人造成了很多困扰,理解了大概原理绕过入门成就感还是摆脱express为上策,也方便对node.js的深入理解。

3、虽然今年应届生郭家宝很火,这本书仍旧不推荐,技术变更略快。

《Node.js开发指南》的少许坑儿~的更多相关文章

  1. 学习Nodejs:《Node.js开发指南》微博项目express2迁移至express4过程中填的坑

    <Node.js开发指南>项目地址https://github.com/BYVoid/microblog好不容易找到的基础版教程,但书中是基于express2的,而现在用的是express ...

  2. Node.js开发指南中的例子(mysql版)

    工作原因需要用到nodejs,于是找到了<node.js开发指南>这本书来看看,作者BYVoid 为清华大学计算机系的高材生,年纪竟比我还小一两岁,中华地广物博真是人才辈出,佩服. 言归正 ...

  3. 《node.js开发指南》partial is not defined的解决方案

    由于ejs的升级,<node.js开发指南>中使用的 partial 函数已经摒弃,使用foreach,include代替 原来的代码是: <%- partial('listitem ...

  4. NODE.JS开发指南学习笔记

    1.Node.js是什么 Node.js是一个让JS运行在服务器端的开发平台,它可以作为服务器向用户提供服务.Node.js中的javascript只是Core javascript,或者说是ECMA ...

  5. 《node.js开发指南》读书笔记(一)

    在开发时如果修改了js内容,不能通过刷新浏览器直接看到效果,必须通过重启nodejs程序才能看到,这样显然不利于开发调试,supervisor可以实现这个功能,监视对代码的改动,并自动重启nodejs ...

  6. 《Node.js开发指南》知识整理

    Node.js简介 Node是一个可以让JavaScript运行在服务器端的平台,抛弃了传统平台依靠多线程来实现高并发的设计思路,而采用单线程.异步式I/O.事件驱动式的程序设计模型. 安装和配置No ...

  7. Node.js 开发指南笔记

    第一章:node简介 介绍了node是什么:node.js是一个让javascript运行在服务器端的开发平台, node能做些什么:[书上的] 具有复杂逻辑的网站 基于社交网络的大规模Web应用 W ...

  8. Node.js 开发指南

    1.Node.js 简介 Node.js 其实就是借助谷歌的 V8 引擎,将桌面端的 js 带到了服务器端,它的出现我将其归结为两点: V8 引擎的出色: js 异步 io 与事件驱动给服务器带来极高 ...

  9. node.js开发指南读书笔记(1)

    3.1 开始使用Node.js编程 3.1.1 Hello World 将以下源代码保存到helloworld.js文件中 console.log('Hello World!'); console.l ...

随机推荐

  1. ./*** > /dev/null 2>&1

    转载:http://dongwei.iteye.com/blog/322702 shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以通过%>的形式来定义 ...

  2. Odoo Many2many 指定默认分组过滤

    在odoo里如果想单击某个菜单打开的页面是自带过滤的,可以在打开菜单的动作中添加默认过滤来实现,今天有同学在群里问,如何在Many2many的添加更多的弹出窗口中添加类似的过滤,其实是非常非常简单的, ...

  3. QWeb、Widget继承

    对于Odoo前端来说,所有的js对象都是继承自openerp.web.Class这个类,然后由此派生出Widget,由Widget派生出其他诸如View等可视化部件,结合QWeb,我们可以实现对现有部 ...

  4. Jquery局部刷新小案列

    /* 调用showTest()方法去后台拿到处理数据后返回到part.jsp页面,main.jsp再调用html()方法 和显示的结果集show()方法把part.jsp显示到当前的页面,实现局部页面 ...

  5. iOS Mail.app inject kit

    from:https://github.com/jansoucek/iOS-Mail.app-inject-kit 测试机:iOS 8.2 发一封邮件. Apple ID的重要性不言而喻,这种钓鱼手法 ...

  6. Intent实现Activity组件之间的通信

    今天讲解的是使用Intent实现Activity组件之间的通信. 一.         使用Intent显式启动Activity,Activity1àActivity2 1.             ...

  7. [NoSQL]验证redis的主从复制

    安装配置redis  http://www.cnblogs.com/myrunning/p/4222385.html 1.1查看当前redis文件 1.2修改配置文件 拷贝配置文件分别为redis_m ...

  8. BizTalk 开发系列(四十二) 为BizTalk应用程序打包不同的环境Binding

    我们在使用微软或者其他公司提供的BizTalk应用程序MSI包的时候经常会有一个目标环境的选择选项.该选项可以在不同的环境下使用不同的绑定(BizTalk应用程序配置)感觉很高级. 其实这个非常的简单 ...

  9. 【iCore3 双核心板】例程二十四:LAN_DHCP实验——动态分配IP地址

    实验指导书及代码包下载: http://pan.baidu.com/s/1i4vMMv7 iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

  10. 【应用笔记】【AN004】VB环境下基于RS-485的4-20mA电流采集

    版本:第一版作者:周新稳 杨帅 日期:20160226 =========================== 本资料高清PDF 下载: http://pan.baidu.com/s/1c1uuhLQ ...