你每天码的代码,最后就生冷的被搁置在机器上。
静态资源
其实没有严格的定义,控制台里面也是难以区分出来的,但是我们凭直觉可以知道,一些图片文件啊,css,js脚本啊,都是静态资源,但是发起的Ajax请求都是动态资源了。
总结了下静态资源的特点:
- 以文件的形式存储在服务端,并由容器暴露接口以提供用户访问。
- 用户多次请求的返回不变,不存在资源准备的过程。
- 通常的静态资源可以是HTML页面,图片,视频等
动态资源:
- 接收到访问请求后,经由服务端动态处理,常伴随读取数据库的,执行脚本等操作。
- 每次请求返回的结果多半不同,存在准备资源的过程。
- 通常的动态资源Ajax请求返回的JSON。
目前我们团队所应用到的静态资源部署方式主要有Ng部署与Node部署。
Ng部署的基本配置就两行的配置文件如下:
root配置网站的跟目录,index配置首页,其他的缓存配置及gzip需要添加其他的配置。
使用Node部署可以依赖于express的static中间件,四行代码即可完成部署。
const express = require('express');
const app = new express();
app.use(express.static('./static));
app.listen(80);
这样就将static文件夹下的文件暴露了出去,如果想开启gzip压缩可以依赖于compression中间件,一般情况下gzip可以压缩到原资源大小的40%,效果还是很明显的。
express的static中间件默认开启304协商缓存,也可以自定义200强缓存。
const express = require('express');
const compression = require('compression');
const app = new express();
app.use(compression());
app.use(express.static('./static));
app.listen(80);
node进程守护可以依赖于pm2.
常用的pm2命令有:
pm2 start index.js
pm2 stop index.js
pm2 delete index.js
pm2 list
pm2 start all
pm2 stop all
pm2 delte all
pm2 monit