关于项目中组件(非路由页面)的按需加载
前面提到的两篇关于项目差异化的文章,其主要目的还是给不同客户提供更好的体验,但是其中还有一个问题没有解决,就是关于项目中一些说大不大说小不小的功能差异,它不体现在页面中而是在一些小组件内,此时,如果把差异代码写在组件内,差异客户一增多,会使得代码到后期越来越难以维护,以及打包代码越来越大的情况。
前言按照之前的结论,如果使用环境变量在编译时就将项目区分开来的话,只适用于一个场景,那就是客户需要单独部署的时候,如果用户不是单独部署,而是采用我们服务器的同一套代码时,这个方法是无效的。
所以,最终决定的方案:
涉及页面的改动:
* 使用router+vuex+自定义菜单区分。
涉及组
Fiddler4抓包工具断点调试
打断点使用命令:
bpu http://localhost:8080/api/userinfo
再次访问userinfo接口时,程序会在响应前后打断点,此时可以修改post/put等参数和返回结果。
使用AutoResponder拦截请求
首先打开Enable rules。
然后再新增一个规则,点按Add Rule。
此时会出现一条新增的规则,在规则的下方是URL匹配和匹配后的响应。
在StringToMatch中输入要匹配的URL,可以使用Test检测一下是否可以匹配规则。然后点击下面的Local file to return or *Action to execute中选择一种返回
2019-10-22
其它
使用vue-router+vuex动态加载菜单
问题在前面有写道使用webpack根据编译环境动态打包不同资源实现生成不同的项目的需求,后经过推敲,发现这个解决方案只适用于单独部署的情况,因为公司项目绝大部分都是使用同一套代码部署的,所以这个方案是不可行的。
方案最终决定由后端给每个生成租户生成全局唯一的tenant_key,前端根据这个值来动态加载不同的菜单。
步骤具体代码如下:
// index.js (router)
import menu from '@/const/menuConst'
import menu_jijia from '@/const/menuConst/jijia'
import m
在定制化项目中使用webpack编译出不同版本的项目
问题公司的sass系统客户有定制化需求,本来想使用git做项目管理,但是发现在操作上还是很不方便,给开发带来不必要的工作量(git也不是干这个的)。然后整理了一下需求,决定在编译时就将项目区分开。
客户定制化需求由于客户的需求差异有大有小,大的比如说添加整个菜单模块:
小的需求比如说只在下一个下拉列表里面添加两个字段:
第二种小需求如果放在git中管理的话,会给后面维护造成很大的困难。
解决方案使用process.env在编译时区分项目,可以使用配置项来解决的独立出来,在编译时配置好。
首先在package.json中配置好编译命令:
"scripts": {
&
git学习
stash暂存有时候在修改需求时,突然线上发现一个紧急的BUG,此时的需求还没有达到提交的程度,这就需要把修改暂存起来,以备下次使用。
git stash // 将还没add的代码暂存起来
git stash list // 显示暂存的列表
git stash save name // 将stash以name为名称暂存
git stash -u // 可以将未跟踪的文件暂存
# git stash是git stash push的缩写
# git stash push是可以暂存单个文件的
# 格式为git stash push <file1> <file2>
gi
2019-10-15
git