从本篇开始,我们开始学习express中怎么使用mongodb数据库来存储数据。
首先,我们创建一个express工程,这里我们使用应用程序生成器工具 (express) 快速创建应用程序框架。
应用程序生成器工具 (express) 的安装可以使用下面的命令:
npm install express-generator -g
yarn global add express-generator
安装成功后使用 express -h来查看支持的命令:
PS D:\coolprophet> express -h
Usage: express [options] [dir]
Options:
--version output the version number
-e, --ejs add ejs engine support
--pug add pug engine support
--hbs add handlebars engine support
-H, --hogan add hogan.js engine support
-v, --view <engine> add view <engine> support (dust|ejs|hbs|hjs|jade|pug|twig|vash) (defaults to jade)
--no-view use static html instead of view engine
-c, --css <engine> add stylesheet <engine> support (less|stylus|compass|sass) (defaults to plain css)
--git add .gitignore
-f, --force force on non-empty directory
-h, --help output usage information
PS D:\coolprophet>
由于我们只是用来做api接口,所以我们直接使用–no-view参数来生成一个项目框架:
接下来我们清楚框架中一些无用的东西
在运行之前,我们需要安装对应的依赖后运行:
yarn
npm install
运行:
当然了,你也可以使用:yarn start 命令来启动程序。
前面提过,服务器启动后,我们可以通过:http://localhost:3000/ 来查看。
当我们访问页面时,大家会看到下面的输出:
我们修改一下我们的index.html,让其显示我的logo:
<html>
<head>
<title>Express</title>
<link rel="shortcut icon" href="./images/favicon.ico">
<link rel="stylesheet" href="/stylesheets/style.css">
</head>
<body>
<img src="./images/logo.png"/>
</body>
</html>
效果图:
使用 Express 自带的 logger 中间件实现了终端日志的输出:
app.use(logger(‘dev’));
如果我们向将日志输入到一个文件中,此时我们需要实现一个我们自己的中间件accessLogger。
首先我们追加下面的代码:
app.use(logger('dev'));
app.use(logger({ stream: accessLogger })); -->追加
然后并在 var app = express(); 之前添加如下代码即可:
var fs = require('fs');-->追加
var accessLogger = fs.createWriteStream('access.log', { flags: 'a' });-->追加
var app = express();
此时我们在访问localhost:3000:
同理我们设置一个错误日志的记录:
app.use(logger({ stream: accessLogger })); -
var errorLog = fs.createWriteStream('error.log', {flags: 'a'});->追加
然后实现我们的中间件:
app.use(function (err, req, res, next) {
var meta = '[' + new Date() + '] ' + req.url + '\n';
errorLogger.write(meta + err.stack + '\n');
next();
});
这里大家需要注意,404错误并不会被捕获的。。