因为忙其它的事,把Node.js的学习放下了快两个月了,世事变化还真快,发现很多东东都改变了,express已经升级到4.x了,变化还不小!
我原来的学习过程是在VirtualBox中安装Ubuntu.12.04amd64,心血来潮,想换成Ubuntu.14.04amd64,发现装不上,转念一想,是不是VirtualBox该升级了!把VirtaulBox升级到最新4.3.12 r93733还真可以了,呵呵!
下面把环境的建立过程,以及相关问题记录如下:
1、建立虚拟目录,把win7下的目录映射到Ubuntu中,因为相关软件都是在win7下下载的!使用命令 mount -t vboxsf UbtShare /mnt/UbtShare
2、安装node,我是下载的二进制包,直接解压到主目录,更名为node,然后建立软链接: ln -s /home/zhoutk/node/bin/node /usr/bin/node;同样建立npm的软链接:ln -s /home/zhoutk/node/bin/npm /usr/bin/npm。
这有个小问题,虽然npm可以执行了,但其相应的配置文件还未建立,这时使用命令 npm config edit时会出错,解决方法,可以使用下面命令在修改镜像服务器源的同时生成配置文件: npm config set registry http://registry.cnpmjs.org,可用命令 npm info underscore 进行验证。
3、我使用webstorm编辑器,这使用了java,因此需要安装jdk。两个月前,我用的是webstorm 7,只需要修改~/.profile就可以了。现在我用的是webstorm 8,竟然一直提示我找不到jdk!郁闷,不断google,不断试验后发现,需要把 /etc/environment也做相应的修改才行,修改如下:
PATH=“……:/usr/lib/jvm/jdk1.7.0_60/bin” CLASSPATH=.:/usr/lib/jvm/jdk1.7.0_60/lib
JAVA_HOME=/usr/lib/jvm/jdk1.7.0_60
4、安装express:因为express 4.x已经把命令行工具分离了出来,因此只需要全局安装这个工具: npm install -g express-generator
就可以使用 express -e blog来建立工程了,-e参数是指使用ejs引擎,呵呵,这个参数也变了! 几个npm命令: npm -d install (安装包检查) npm udate(更新,可用来进行修复安装包) npm start (项目启动,不再是node app)
5、使用webstorm时,同时在ubuntu与win7_64下不断试验,ubuntu下webstorm会菜单中会有中文乱码,解决方法如下:File->settings->appearance下UI Options,勾选Override default fonts by ... 我选Wen Quan Yi Micro Hei 。即这个问题是因为默认字体不支持中文的原因造成的。
6.我使用的ejs模板,对javascript文件的引用必须这个写:<script src=""></script>;不能简化成<script src="" />,这个问题把我折腾得好苦。
7.webstorm对express的智能提示有问题,这样解决:File->settings->javascript->Libraries 下点击 download按钮,选TypeScript community stubs,在选择中可以找到express。或者直接到 https://github.com/borisyankov/DefinitelyTyped 去下类型定义文件。
8.同一个页面内的所有操作,都交由angular掌控,进行页面跳转,需在express(res.redirect)中与angular($window.location='/';)中都要写上才能正常;这我也是试了好久才确定的。
9.angular的版本区别:1.0到1.2要注意,angular把ngRoute单独出来了,现在网上的源代码大都是基于1.0.*的,若你在用最新的angular进行学习,很多时候出错是因为这个原因。如何解决,自己上官网去看升级办法,很简单。
好了,就记得这么多了,要是能想起,过后再补。