工作日记(七):完整项目开发之前端vue框架的搭建
2020.7.15
今日领导让填写敏捷版上的任务;组长将任务细分了一下,让每个人认领。
第一次迭代计划用时10天,组长大概分成了3天开发,3天自测,3天联调的子任务。
前后端是分离的,目前我们主要负责后台java开发,前端同事帮助我们开发前端页面;后续前端同事会去负责其它项目,前端页面的维护与开发也会交给我们后台。(可能是前端页面后期维护比较简单,不值得长期派前端同事负责吧。)
于是,我们也需要搭建前端vue开发环境,以备不时之需。
vue框架的搭建步骤:
1.安装nodejs,之后就能使用npm命令了。
2.使用svn下载相关代码。
3.找到项目中的node_modules.rar,解压到当前文件夹。(原本应该是使用"npm i"命令安装的,但是公司内网用这个命令装不上。)
4.用"我的电脑"打开到项目路径,在地址栏中输入"cmd",快速启动命令行。
5.在命令行窗口输入"npm run dev",启动项目。(有时候需要输入"npm run serve"启动项目,具体要看项目中的package.json文件。)
6.使用前端开发工具开发前端,例如Hbuilder。
后记:
1.开发过程中,有同事遇到了修改文件后无法提交svn的问题,报错如下:
SVN: File 'xxxx' is locked in another working copy
不知道是什么原因造成了文件被锁住;
解决方法:选中文件,单击右键,选择“Get Lock”,并勾选 ‘Steal The Lock’。
2.与同事辩论controller的url应该怎么写,我之前是这么写的:
@RequestMapping(value="/xxx/{id}")
@ResponseBody
public String searchDetail( @PathVariable("id") String id){
//这句实际上没啥用,id为空时连方法都进不来,404
if(id == null || "".equals(id) {
//当然要自己写一个异常信息类errorbean
return JSONObject.toJSON(errorbean).toString();
}
//......new一个javabean并用service层处理,最后返回;
//com.alibaba:fastjson:1.2.58
//这是处理json的jar包
return JSONObject.toJSON(javabean).toString();
}
因为项目中有个模板controller就是这么写的,我就直接用了;
同事说:这样参数会直接在url中看到,并且不传递参数时页面404;
我说:404有统一的页面处理,并且前端传不传参它自己知道,出问题是前端没带参数的问题;
同事说:没有参数是前端的问题,但是可能会出现这个情况,用户看到就不管谁的问题了,莫名404,也能说是后端没有处理的问题;
我想:也是,如果报404,就算统一处理,还是有些别扭;让前端必须加个参数(为空时加参数"null"啥的),也有些别扭。
好吧,他赢了。
因此我改成了这样的形式:
@RequestMapping(value="/xxx")
@ResponseBody
public String searchDetail(String id){
if(id == null || "".equals(id) {
//当然要自己写一个异常信息类errorbean
return JSONObject.toJSON(errorbean).toString();
}
//......new一个javabean并用service层处理,最后返回;
//com.alibaba:fastjson:1.2.58
//这是处理json的jar包
return JSONObject.toJSON(javabean).toString();
}
3.update项目,又跑不了了,并且有个鲜明的错误,import语句找不到指定类。
问题:同事A将一个类移动了目录并提交了,相应的依赖也修改了,这时没有问题;
同事B的代码中import了这个类,在同事A之后他也提交了(这时import语句还保持类移动之前的状态)。
分析:首先这两人的操作好像没有导致svn冲突;
同事A已经将同事B的代码的import语句改成正确的形式了;
同事B在之后提交代码时,import语句保持着错误的形式提交了。
导致:其它人update项目,由于import语句错误,项目跑不起来。
甩锅:同事B说,他在提交代码时,项目是能跑的,所以提交了;不过当时好像有2个类(一个是移动前的、另一个是移动后的?详情不明,应该不可能才对,多半是他没有update)
同事A未参与讨论。
总结:锅还得是同事B的,因为同事A先提交了代码,也将import改成正确的形式了,并且项目能跑;同事B后提交了代码,import却保持错误的形式,也没有检查项目能不能跑(如果检查并发现了问题,当时就改了,我们也不会看到这个锅了)。
PS:检查项目能不能跑,当然是先update,后commit,然后debug,间隔时间越短越好(尽量避免commit前又发现了新的需要update的文件)。