由于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. Java获取前天和后天的时间

    import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import j ...

  2. 简单工程使用sbt公共库(sbt-assembly)

    只是为了简单实现一个算法,想用到breeze算法库.想把breeze当做external libraryies直接导入工程.可是官网没有,网上搜索更多的是在sbt工程或maven工程下. 后来实现目标 ...

  3. TFS任务更新

    由于不熟悉TFS任务更新的操作,花了四五个小时一个个的新建任务.下图是部分更新的任务截图: 每个任务的估计时间为3~5小时,每位成员的任务总时长均为19~20小时. 项目完成需要的总时间为135小时.

  4. 演示一个OLS进行数据访问控制的示例

    1.确认数据库版本 2.安装OLS组件 3.创建策略 4.创建分级和标签 5.创建测试用户并授权 6.更新标签 7.测试演示

  5. iOS no visible @interface for 'UIButton' declares the selector errors

    no visible @interface for 'UIButton' declares the selector errors  原理不是特别理解,通过清理缓存,代码更新了,Xcode还是读旧的缓 ...

  6. shell bash ksh

    shell 是一个交互性命令解释器.shell独立于操作系统,这种设计让用户可以灵活选择适合自己的shell.shell让你在命令行键入命令,经过shell解释后传送给操作系统(内核)执行.     ...

  7. Android课程---时间日期对话框

    activity_ui2.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...

  8. Color Space: Lab

    Lab颜色空间是由CIE(国际照明委员会)制定的一种色彩模式.自然界中任何一点色都可以在Lab空间中表达出来,它的色彩空间比RGB空间还要大.另 外,这种模式是以数字化方式来描述人的视觉感应, 与设备 ...

  9. TypeScript学习记录

    TypeScript官网 TypeScript中文网 TypeScrpit Handbook 中文版 DefinitelyTyped The TypeScript Definition Manager ...

  10. phpstorm 实用快捷键 和 注释

    1. 注释   类似 /**退款详情 * @param * @param * @param * @return * @author */ 在方法中引入,直接/**+enter键 2.快捷建 CTRL ...