Express框架简介




中间件






中间键是有顺序的,从上到下

构建模块化路由


Express请求处理


// 这里通过express的第三方模块body-parser对post请求的参数进行解析。
// extended为true时,使用第三方模块qs对参数解析,false时使用nodejs的系统模块querystring进行解析
// 正常情况下,使用querystring对参数解析即可,这也是官方的推荐。
app.use(bodyParser.urlencoded({extended: false}));

对静态资源的处理


app.use(‘/static’, express.static(path.join(__dirname, ‘public’)));
上面这样子写的话静态文件就是/static路径了,举个例子:
http://localhost:3000/static/logo.png
对app.use()方法的回调函数进行操作

express-art-template模板引擎

res.render(‘模板名称’, ‘模板数据’)

app.locals对象
存储在这里的数据默认可以在所有模板中获取到,不需要再res.render里面添加

密码加密算法

安装环境:
1 | npm instal bcrypt |

cookie 和 session


Joi验证参数
1 | npm install joi |

默认的参数都是可选的,需要加上required()。另外如果参数对象有规则里面没有定义的key会验证失败。
这里的joi的版本太高无法运行,报错 Joi.validate is a not function
选择版本安装 npm install joi@14.3.1
配置chrome浏览器允许安装第三方插件
方法一:
chrome://flags/#extensions-on-chrome-urls

重启后,鼠标拖动第三方的.crx文件到扩展程序页面就可以显示“拖放以安装”
注意:修改后会提示不安全,可以忽略
方法二:
将.crx文件修改后缀为zip之类的压缩文件后缀,通过解压工具解压成文件夹。在扩展程序页面打开开发者模式,选择“加载已解压的扩展程序”,选中前面解压的文件夹即可导入。

formidable解析表单 - 文件上传

文件读取FileReader

分页模块

page: 第几页
size: 一页展示的条数
display: 显示的页码数(比如如果有1000页,那并不需要显示1000的页码,页面显示不了)

mongoDB数据库添加账号
需要建立超级管理员账号,再创建普通账号。超级管理员账号对应admin数据库,拥有全部的权限。普通账号对应与具体的数据库。


创建超级管理员账号:

1 | db.createUser({user: '用户名', pwd: "用户密码", roles: [‘用户角色(用户组,系统有内置的值,如root即超级管理员)’]}) |
给blog数据库创建普通用户账号:

1 | db.createUser({user: 'itcast', pwd: 'itcast', roles: ['readWrite']}) |
卸载mongodb服务:

创建并启动mongodb服务:

1 | mongod --logpath="[日志输出位置]C:\Program Files\MongoDB\Server\4.2\log\mongod.log" --dbpath="[数据库存储目录]C:\Program Files\MongoDB\Server\4.2\data" --install --auth |
这里的两个目录都是安装MongoDB的默认路径,--auth表明必须校验身份才可以登录。
验证数据库操作需要权限:

上面运行了mongoose操作数据库的程序,程序中连接数据库没有加上账号密码,显示是数据库连接成功,但是进行数据库操作的时候就报错了。
在项目中使用账号密码连接数据库:
1 | const mongoose = require('mongoose'); |
如何区分开发环境和生产环境

注意设置环境变量后需要重启cmd才可以获取到新加入的系统环境变量
本文链接: http://www.ionluo.cn/blog/posts/30df1e17.html
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
