《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 ...
随机推荐
- hdu1251 字典树or map
一道字典树的题,不过看起来用map更为简单 传送门 题意: 给出一堆字符串构成一个字典,求字典里以某字符串为前缀的字符串有几个 思路: 输入字符串时把字符串的前缀全部存进map并标记次数 查询时直接输 ...
- C# 常用结构
几种常用类的基本结构如下: public Size( double width, double height ) public Point( double x, double y) public Ve ...
- Windows下获取本机IP地址方法介绍
Windows下获取本机IP地址方法介绍 if((hostinfo = gethostbyname(name)) != NULL) { #if 1 ; printf("IP COUNT: % ...
- Jenkins中Jelly基础、超链接、国际化
Jelly基础 参考:https://wiki.jenkins-ci.org/display/JENKINS/Basic+guide+to+Jelly+usage+in+Jenkins UI Samp ...
- EL表达式与JSTL
内容包括 EL表达式 EL函数库 JSTL 核心标签库 格式化标签库 SQL标签库 XML标签库 自定义标签库 EL表达式 EL是Expression Language的是缩写,是JSP页面编写的一种 ...
- java实现文件及目录压缩
package org.alfresco.repo.bom.util; import java.io.File; import java.io.FileInputStream; import java ...
- ORM系列之一:Dos.ORM
阅读目录 引言 1.为什么使用Dos.ORM 2.配置 3.开始使用 3.1. 物理表 3.2. 实体类 3.3. 使用方法 引言 Dos.ORM(原名Hxj.Data)于2009年发布,2015年正 ...
- Java集合---HashMap源码剖析
一.HashMap概述二.HashMap的数据结构三.HashMap源码分析 1.关键属性 2.构造方法 3.存储数据 4.调整大小 5.数据读取 ...
- [转]Android SHA1与Package获取方式
转自高德地图LBS Android SHA1与Package获取方式 获取应用包名 打开Android 应用工程的 AndroidManifest.xml配置文件,package 属性所对应的内容为应 ...
- http://www.cnblogs.com/ACMer/p/5170255.html
http://www.cnblogs.com/ACMer/p/5170255.html