一、结构图
1、
node_modules文件夹
这文件夹就是在创建完项目后,cd到项目目录执行npm install后生成的文件夹,下载了项目需要的依赖项。
2、package.json文件
此文件是项目的配置文件(可定义应用程序名,版本,依赖项等等)。node_modules文件夹下的依赖项是从哪里知道的呢?原因就是项目根目录下的这个package.json文件,执行npm install时会去找此文件中的dependencies,并安装指定的依赖项。
3、public文件夹(包含images、javascripts、stylesheets)
这个文件夹做过Web开发的应该一看就知道,为了存放图片、脚本、样式等文件的。
4、routes文件夹
用于存放路由文件。
5、views文件夹
存放视图。
二、项目内容介绍
1、app.set(name,value)
把名字为name的项的值设为value,用于设置参数。
//设定端口
app.set(
'port'
, process.env.PORT || 3000);
//设定视图路径主要清楚__dirname的意思就可以了,它是node.js中的全局变量,表示取当前执行文件的路径
app.set(
'views'
, path.join(__dirname,
'views'
));
//设定视图引擎模板,还可以设定其他模板,后续介绍
app.set(
'view engine'
,
'jade'
);
2、app.use([path], function)
用这个方法来使用中间件,因为express依赖于connect,有大量的中间件,可以通过app.use来使用;path参数可以不填,默认为'/' 。
//这一句中可能要注意一下,express.static()是处理静态请求的,
//设置了public文件,public下所有文件都会以静态资料文件形式返回
//(如样式、脚本、图片素材等文件)
app.use(express.static(path.join(__dirname,
'public'
)));
//上面代码表示当用户使用/访问时,调用routes,即routes目录下的index.js文件,
//其中.js后缀省略,用/users访问时,调用routes目录下users.js文件
var
routes = require(
'./routes/index'
);
var
users = require(
'./routes/users'
);
app.use(
'/'
, routes);
app.use(
'/users'
, users);
获取名为name的项的值。
(app.get(
'env'
) ===
'development'
) {
app.use(
function
(err, req, res, next) {
res.status(err.status|| 500);
res.render(
'error'
, {
message: err.message,
error: err
});
});
}
//表示如果是开发环境,处理error时会输出堆栈信息
var
express = require(
'express'
);
var
router = express.Router();
/* GET home page. */
router.get(
'/'
,
function
(req, res, next) {
res.render(
'index'
, { title:
'Express'
});
});
module.exports = router;
es.render表示调用模版引擎解析名字index的模板,传并传入了title做为参数;
参考:
http://my.oschina.net/u/1416844/blog/483040
给大家推荐一个nodejs学习网站:
http://blog.fens.me/series-nodejs/