最近需要学习nodejs,从完全不了解开始,在网上找到一本BYVoid编著的《node.js开发指南》,安装完成nodejs之后,进入“使用node.js进行WEB开发”这一章。
安装express的过程还是很顺利的,但是express安装完成之后,执行express microblog命令,报错“express不是内部命令或外部命令。。。”,在网上一通找,最后发现应该是安装的express的版本与文档中的版本不一致,看了一下,文档中express的版本是2.5.8,但是我安装完的express的版本已经是4.7.2了。
解决办法:
1、安装express。
首先执行 npm install -g express,其次执行npm install -g express-generator,这样才算安装完成。
2、创建microblog。
文档中写的是 express -t ejs microblog,但是执行之后发现还是有错误,创建的不是ejs项目,而是jade项目,在网上查了之后,发现应该是express -e microblog,执行完 之后会提示你切换到microblog目录下并执行npm install命令,按照提示依次执行cd microblog,npm install。完成之后,查看microblog文件夹下的package.json文件,会发现里边有ejs的版本信息,这样说明创建的项目确实是ejs项目。
3、启动microblog。
按照文档中执行node app.js之后没有任何反应,修改为执行npm start进行启动,启动成功。
4、浏览器访问。
在浏览器中输入localhost:3000进行访问。
Express
Welcome to Express
这样显示就说明已经成功。为什是是3000端口?可以看一下查看microblog文件夹下的package.json文件中有这么一行 "start": "node ./bin/www",说明start命令执行的是microblog文件下bin文件夹中的www文件,打开www文件可以看到内容如下:
#!/usr/bin/env node
var debug = require('debug')('microblog');
var app = require('../app');
app.set('port', process.env.PORT || 3000);
var server = app.listen(app.get('port'), function() {
debug('Express server listening on port ' + server.address().port);
});