1.自动登录是通过什么来实现的
采用token和localstorage实现,
实现过程
①调用登录接口后端返回token字段将他存在localstorage中
②用request拦截器拦截所有请求,并把所有的请求都加一个请求头:从localstorage里面拿到的token
interceptors.response.use(response=>{})
③跳转页面之前用路由守卫判断localstorage里面有没有token,如果没有则跳转到登陆页面
④如果调用接口时发生token过期或其他token异常则后端接口返回401状态码,前端用response拦截器拦截请求结果,发现请求的状态码是401则清除localstorage里面的token,之后就会被路由守卫发现没有token,然后自动跳转到登陆页面重新登陆
2.为什么选用localstorage存储token而不是cookies存储token
localstorage不会每次请求都将token传输过去
cookie则是每次请求都将token传输过去
http是无状态的他并不能区分请求和响应于是需要一个令牌来对用胡身份进行区分,常见的令牌有
cookie,session,webstorage三者的区别有
session会传递给用户一个key值,自己维系一个key-value表,将key值传递过去
1.cookie每次关闭浏览器就会消失除非是设置了setMaxage(int 秒数为0的时候就会删除),locarage一般不会被删除,除非是自动删除。sessionstorage的存储周期为浏览器页面关闭。
2.cookie和webstorage一样都是存在浏览器端的但是不同的是,cookie每次都会随着请求发送到服务器,而webstorage不会,webstorage不会和服务器端交互。
3.cookie存储空间比较少大概有4kb,webstorage存储空间较大大概5mb。
3.session,cookie,token
3.PM2是管理node.js的进程,
4.webpack打包流程webpack打包大概分为以下三个流程
- 初始化:启动构建,读取与合并配置参数,加载 Plugin,实例化 Compiler。
- 编译:从 Entry 发出,针对每个 Module 串行调用对应的 Loader 去翻译文件内容,再找到该 Module 依赖的 Module,递归地进行编译处理。
- 输出:对编译后的 Module 组合成 Chunk,把 Chunk 转换成文件,输出到文件系统。
如果只执行一次构建,以上阶段将会按照顺序各执行一次。但在开启监听模式下,流程将变为从夫编译和输出的过程