part3-模块六

696 阅读2分钟

解答题:

说说 application/json 和 application/x-www-form-urlencoded 二者之间的区别

1、当请求为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2...),然后把这个字串添加到url后面,用?分割,加载这个新的url
2、当请求为post时候,浏览器把form数据封装到http body中,然后发送到server端
3、application/json:开发人员将application/json作为请求content-type,以 json 格式来提交数据

说一说在前端这块,角色管理你是如何设计的?

添加新角色、角色编辑、删除、角色列表搜索
角色列表展示
给角色添加菜单权限、资源权限
用户可以创建不同的角色,让其拥有不同的权限

@vue/cli 跟 vue-cli 相比,@vue/cli 的优势在哪?

打包速度更快了,vue-cli 3 是基于 webpack 4 打造,启动打包速度更快,vue-cli 2 还是 webapck
项目结构更简单,文件变少,结构更清晰
@vue/cli 新加入了 TypeScript 以及 PWA 的支持 提供了 vue ui 命令,通过可视化界面来使用 GUI 安装和管理插件

详细讲一讲生产环境下前端项目的自动化部署的流程

以github+gitactios为例
生成项目的tokens (在github上操作)
配置项目的Secrets (在github上操作)
在项目的根目录下添加两个文件夹:.github\workflows
在文件夹内新建一个文件.yml结尾的文件:main.yml
在文件内写入自动化部署的相应脚本
把开发好的项目上传到github中
按照.yml内写入的脚本,触发gitactios的自动化部署
如果项目涉及到了跨域请求,需要在服务器内安装nginx来实现代理

你在开发过程中,遇到过哪些问题,又是怎样解决的?请讲出两点

1、首页数据的周期性刷新,显示最新的数据
使用websocket (但是增加了前后的代码量,实时显示最新数据,可以考虑)
使用setInterval()函数 (时间间隔长的,可以考虑)
2、针对首页数据较多的,第一次加载过于缓慢,可以考虑使用ntxtjs来实现
3、对于结构相同的页面,单独提取出来公共组件,进行复用(考虑健壮性)

针对新技术,你是如何过渡到项目中?

看新技术是否在项目中适用 去看官网说明,大致了解一下新技术是做什么的
看一下官网的快速上手的说明
尝试按照官网的例子,自己手动的写一写,熟悉一下
尝试着在项目内去写一下
在项目中使用遇到问题,去找官网的api、去网络找资源、向同事询问
最终实现相应功能