# part3-6-homework **Repository Path**: mxydl2009/part3-6-homework ## Basic Information - **Project Name**: part3-6-homework - **Description**: 大前端高薪训练营模块3-6作业 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-02-08 - **Last Updated**: 2021-02-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 解答题 1. 说说 application/json 和 application/x-www-form-urlencoded 二者之间的区别。 application/json和application/x-wwww-form-urlencoded都是http报文中用于规定传输数据的MIME类型,其中application/json表示数据格式是json格式,需要用JSON的方式来解析数据,而application/x-www-form-urlencoded是浏览器默认对表单数据的编码方式,使用了url编码方式来规定传输的数据类型。 2. 说一说在前端这块,角色管理你是如何设计的。 角色管理是用来对项目中的资源(或者API调用)进行权限管理的,针对不同的角色人群,其权限不同,即可以调用的API不同,对系统的影响不同。 API集合可以根据功能或其他标准划分为不同的子集,角色同样可以根据类别划分为不同的角色,通常包含 - 超级管理员:对应所有API集合 - 普通用户:对应API的一部分子集 - 游客: 对应API的一部分子集 ...等等 3. @vue/cli 跟 vue-cli 相比,@vue/cli 的优势在哪? - 新增了对TypeScript的配置支持 - 新增了图形化的安装方式 - 使用public目录代替了static目录,通过根路径作为前缀就可以访问静态资源 - 对单文件组件进行快速原型开发的支持 - 图形化界面管理项目 - 支持CLI插件来进行功能扩展 4. 详细讲一讲生产环境下前端项目的自动化部署的流程。 4.1 开发完毕,本地测试完成,推送到项目的远端仓库开发分支 4.2 开发分支合并到master主分支,(可能根据是否具有tag)触发自动化部署脚本,开始自动化部署流程 4.3 自动化部署流程 - 下载源码,对前端项目进行打包构建 - 构建结果上传到Release中发布 - 将Release部署到服务器 5. 你在开发过程中,遇到过哪些问题,又是怎样解决的?请讲出两点。 5.1 使用Grunt构建项目时,遇到插件无法出现正确的效果 - 通过对插件的源码进行解读,发现该插件的确无法实现所需的效果 - 转而搜索npm包中适合的插件,通过对几款插件的文档研读与尝试,最终确定了某个插件可以达到所需的效果 5.2 在使用axios时,发现因网络原因导致请求中断,需要指定至少发送的请求次数直到收到响应 - 自己尝试对脚本进行修改,完成所需功能 - 通过查阅文档以及搜索引擎的帮助,找到所需功能的npm包,完善了该功能 6. 针对新技术,你是如何过渡到项目中? 首先要保证现有技术下项目的可靠性,其次,在现有项目下新开分支来尝试新技术,对现有技术进行一步步的更新,直到在新技术完善合适时,再去覆盖现有技术。