《Node.js开发指南》的少许坑儿~
由于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开发指南》的少许坑儿~的更多相关文章
- 学习Nodejs:《Node.js开发指南》微博项目express2迁移至express4过程中填的坑
<Node.js开发指南>项目地址https://github.com/BYVoid/microblog好不容易找到的基础版教程,但书中是基于express2的,而现在用的是express ...
- Node.js开发指南中的例子(mysql版)
工作原因需要用到nodejs,于是找到了<node.js开发指南>这本书来看看,作者BYVoid 为清华大学计算机系的高材生,年纪竟比我还小一两岁,中华地广物博真是人才辈出,佩服. 言归正 ...
- 《node.js开发指南》partial is not defined的解决方案
由于ejs的升级,<node.js开发指南>中使用的 partial 函数已经摒弃,使用foreach,include代替 原来的代码是: <%- partial('listitem ...
- NODE.JS开发指南学习笔记
1.Node.js是什么 Node.js是一个让JS运行在服务器端的开发平台,它可以作为服务器向用户提供服务.Node.js中的javascript只是Core javascript,或者说是ECMA ...
- 《node.js开发指南》读书笔记(一)
在开发时如果修改了js内容,不能通过刷新浏览器直接看到效果,必须通过重启nodejs程序才能看到,这样显然不利于开发调试,supervisor可以实现这个功能,监视对代码的改动,并自动重启nodejs ...
- 《Node.js开发指南》知识整理
Node.js简介 Node是一个可以让JavaScript运行在服务器端的平台,抛弃了传统平台依靠多线程来实现高并发的设计思路,而采用单线程.异步式I/O.事件驱动式的程序设计模型. 安装和配置No ...
- Node.js 开发指南笔记
第一章:node简介 介绍了node是什么:node.js是一个让javascript运行在服务器端的开发平台, node能做些什么:[书上的] 具有复杂逻辑的网站 基于社交网络的大规模Web应用 W ...
- Node.js 开发指南
1.Node.js 简介 Node.js 其实就是借助谷歌的 V8 引擎,将桌面端的 js 带到了服务器端,它的出现我将其归结为两点: V8 引擎的出色: js 异步 io 与事件驱动给服务器带来极高 ...
- node.js开发指南读书笔记(1)
3.1 开始使用Node.js编程 3.1.1 Hello World 将以下源代码保存到helloworld.js文件中 console.log('Hello World!'); console.l ...
随机推荐
- 一键搞定JavaEE应用,JRE+Tomcat+Mysql-JaveEE绿色运行环境JTM0.9版
本文转载自[http://www.blogjava.net/huliqing/archive/2009/01/09/247375.html] 这是一个集成了jre,tomcat,mysql的绿色运行环 ...
- [转载]学习VC MFC开发必须了解的常用宏和指令————复习一下
1.#include指令 包含指定的文件 2.#define指令 预定义,通常用它来定义常量(包括无参量与带参量),以及用来实现那些“表面似和善.背后一长串”的宏,它本身并不在编译过程中进行,而 ...
- jq图片点击居中放大原始图片兼容ie
/* *鍥剧墖澶у浘鏄剧ず */ function imgshow(){ content_div:"";//内容 bg_div:"";//背景变暗 img_di ...
- 使用powershell提权的一些技巧
原文:http://fuzzysecurity.com/tutorials/16.html 翻译:http://www.myexception.cn/windows/1752546.html http ...
- Web前端代码页面布局总结
一. html (1)编码:所有编码均采用xhtml,标签必须闭合,属性值用双引号包括,编码统一为utf-8. (2)语义化:语义化html,正确使用标签. (3)文件命名:命名以中文命名,依实际模 ...
- java开发常用工具类
package com.rui.util; import java.text.DateFormat; import java.text.DecimalFormat; import java.text. ...
- 使用javascript实现在页面打印的效果的三种方式
<div id="console"></div> <script type="text/javascript"> var c ...
- iOS App TransportSecurity has blocked a cleartext HTTP (http://) resource load since it isinsecure. Temporary exceptions can be configured via your app's Info.plistfile
“App TransportSecurity has blocked a cleartext HTTP (http://) resource load since it isinsecure. Tem ...
- javascript 与jquery为每个p标签增加onclick方法
<script type="text/javascript"> window.onload=function(){ var items=document.getElem ...
- 中介者模式(Mediator)
GOF:用一个中介对象来封装一系列的对象交互.中介者使对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互. 类图: