你写的网页,其实就是一些静态资源

259 阅读2分钟

你每天码的代码,最后就生冷的被搁置在机器上。

静态资源

其实没有严格的定义,控制台里面也是难以区分出来的,但是我们凭直觉可以知道,一些图片文件啊,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