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 国际许可协议 进行许可。转载请注明出处!