上面的文章已经介绍了如何创建一个nodejs服务器服务。本文将用express构建一个路由。第一章搭建一个nodejs服务配置app.js,介绍相关中间件。varexpress=require('express');varpath=require('path');varfavicon=require('serve-favicon');varlogger=require('morgan');varcookieParser=require('cookie-parser');varbodyParser=require('body-parser');//文件读取varfs=require("fs");//gzip压缩varcompression=require('compression');//处理异常vardomain=require('域');varapp=express();设置模板引擎//视图引擎setupapp.set('views',path.join(__dirname,'views'));app.set('视图引擎','ejs');使用相关的中间件//将你的favicon放入/publicapp.use(favicon(path.join(__dirname,'public','favicon.ico')));//loglogapp.use(logger('dev')));//HTTP请求body解析中req.cookiesapp.use(cookieParser());//在公共文件中引入静态资源,包括css、js、image等。app.use(express.static(path.join(__dirname,'public')));导入路由文件//路由文件读取varfile=fs.readdirSync('./路线');for(variinfile){varname=file[i].replace('.js','');require('./routes/'+name)(app,domain);}捕获错误消息//捕获404并转发到错误处理程序app.use(function(req,res,next){varerr=newError('NotFound');err.status=404;next(err);});错误处理,渲染404页面app.use(function(err,req,res,next){//设置locals,只在开发中提供errorres.locals.message=err.message;res.locals.error=req.app.get('env')==='development'?err:{};//渲染错误页面res.status(err.status||500);res.statusCode=404;res.render('htmlerror');});抛出模块module.exports=app;下一章快速构建前端项目3
