day0521
cookie 4k左右
localstorage 5M左右
session 以文件的形式存储在服务器,集群服务器session丢失
模板引擎
介绍
数据与html显示分离
页面渲染模式
ssr服务器渲染
csr客户端渲染
代表:vue react
art-template
国产
加@可执行标签
安装与配置art-template
在express项目中通过npm来进行安装:
# 安装
npm i -S art-template express-art-template
# 模板引擎配置
// 指定art-template模板,并指定模块后缀为.html
app.engine('html', require('express-art-template'));
// 指定模板视图路径
app.set('views', path.join(__dirname, 'views'));
语法
控制层返回数据:
app.get(uri,(req,res)=>{
res.render(模板,{
username: '张三'
})
})
模板视图层输出显示:
输出:
标准语法
{{ username }} // 有转义输出 未转义输出 {{@ username }}
原始语法
<%= username %> // 有转义输出 未转义输出 <%- username %>
条件判断:
{{if 条件}} … {{else if 条件}} … {{/if}}
<%if (条件){%> … <%}else if (条件){%> … <%}%>
循环:
// 支持 数组和对象的迭代 默认元素变量为$value 下标为$index 可以自定义 {{each target val key}}
{{each target}}
{{$index}} {{$value}}
{{/each}}
<% for(var i = 0; i < target.length; i++){ %>
<%= i %> <%= target[i] %>
<% } %>
子模板 — 模板包含:
{{include './header.art'}}
<% include('./header.art') %>
注:在子模板中不要有html、head和body标签
模板继承
模板布局 布局文件
父模板 layout.html:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>{{block 'title'}}My Site{{/block}}</title>
</head>
<body>
<!-- block占位符 content此占位的名称 -->
{{block 'content'}}{{/block}}
</body>
</html>
继承父模板 index.html:
<!--extend 继承 -->
{{extend './layout.html'}}
{{block 'title'}}首页{{/block}}
{{block 'content'}}
<p>This is just an awesome page.</p>
{{/block}}
注:渲染 index.html后,将自动应用布局骨架
mysql
nodejs操作mysql,需要安装第3方模块:
npm i -S mysql
mongodb
简介
关系型数据库和非关系型数据库结构区别:
mongodb数据体系:
安装软件
下载地址:https://www.mongodb.com/download-center/community
mac安装:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x-tarball/
下载压缩包文件:
https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-4.4.6.tgz
解压下载文件:
tar -zxvf mongodb-macos-x86_64-4.4.tgz
移动目录:
mv /xxx/mongodb-macos-x86_64-4.4 /usr/local/mongodb
// 创建数据目录
mkdir -p /usr/local/mongodb/data
mkdir -p /usr/local/ /mongodb/logs
// 启动
mongod --dbpath /usr/local/mongodb/data --logpath /usr/local/mongodb/logs/mongo.log --fork