日常工作遇到的问题

103 阅读4分钟

关于v-bind

image.png

axios运行报错

Create an Error with the specified message, config, error code, request and response.

check baseURL写错没,我是把请求路径也加上了。

const HTTP = axios.create({
    baseURL: 'https://test.com/xxx/xxx' // 不能加'xxx/xxx'
    headers: {
    
    },
})

git 回退

git reset --soft HEAD~1 撤销最近一次的commit(撤销commit,不撤销git add) 
git reset --mixed HEAD~1 撤销最近一次的commit(撤销commit,撤销git add) 
git reset --hard HEAD~1 撤销最近一次的commit(撤销commit,撤销git add,工作区的代码改动将丢失。操作完成后回到上一次commit状态)


reduce

数组中对象的某个属性求和

// data=[{...,coverage}]
 const totalCoverage:any = data.reduce(( prev: any, cur: any ) =>{
        return prev + cur.coverage;
    }, 0)
function groupBy(arr, group) {
    return arr.reduce((prev, cur) => {
        const key = group(cur);
        if (prev.hasOwnProperty(key)) {
            prev[key].push(cur);
        } else {
            prev[key] = [cur]
        }
        return prev;
    }, {});
}

v-dbClick

blog.csdn.net/gyueh/artic…

git内容跟随分支切换

[master] git add .
[master] git commit -m 'feat: 保存一下'
[master] git checkout test
[test] git merge master

git stash

# 保存当前未commit的代码
git stash

# 保存当前未commit的代码并添加备注
git stash save "备注的内容"

# 列出stash的所有记录
git stash list

# 删除stash的所有记录
git stash clear

# 应用最近一次的stash
git stash apply

# 应用最近一次的stash,随后删除该记录
git stash pop

# 删除最近的一次stash
git stash drop

git reset --soft

回溯节点,为什么要保留修改内容?

应用场景1:有时候手滑不小心把不该提交的内容 commit 了,这时想改回来,只能再 commit 一次,又多一条“黑历史”。

应用场景2:规范些的团队,一般对于 commit 的内容要求职责明确,颗粒度要细,便于后续出现问题排查。本来属于两块不同功能的修改,一起 commit 上去,这种就属于不规范。这次恰好又手滑了,一次性 commit 上去。

撤销本地commit

git reset --soft HEAD^
git add .
git commit -m 'feat: 新commit msg'

撤销远程commit

git reset --soft HEAD^
git add .
git commit -m 'feat: 新commit msg'
git push origin -f

git cherry-pick

commit 都提交了,为什么还要复制新的出来?

应用场景1:有时候版本的一些优化需求开发到一半,可能其中某一个开发完的需求要临时上,或者某些原因导致待开发的需求卡住了已开发完成的需求上线。这时候就需要把 commit 抽出来,单独处理。

应用场景2:有时候开发分支中的代码记录被污染了,导致开发分支合到线上分支有问题,这时就需要拉一条干净的开发分支,再从旧的开发分支中,把 commit 复制到新分支。

[master]git cherry-pick 开发分支的commitHash

这时master代码就有了开发分支的commit了

git revert

应用场景:有一天测试突然跟你说,你开发上线的功能有问题,需要马上撤回,否则会影响到系统使用。这时可能会想到用 reset 回退,可是你看了看分支上最新的提交还有其他同事的代码,用 reset 会把这部分代码也撤回了。由于情况紧急,又想不到好方法,还是任性的使用 reset,然后再让同事把他的代码合一遍(同事听到想打人),于是你的技术形象在同事眼里一落千丈。

  1. revert 掉自己提交的 commit。
  2. 因为 revert 会生成一条新的提交记录,这时会让你编辑提交信息,编辑完后 :wq 保存退出就好了。
  3. 再来看下最新的 log,生成了一条 revert 记录,虽然自己之前的提交记录还是会保留着,但你修改的代码内容已经被撤回了。
git revert commitHash

encodeURIComponent和decodeURIComponent编码和解码

是js里面的函数

MDN

通用解码函数实现

// 递归,不知道编码了多少次
function decode(str) {
    if(decodeURIComponent(str) === str) return str;
    return decode(decodeURIComponent(str));
}
const url = 'https://blog.csdn.net';

const en2code = encodeURIComponent((encodeURIComponent(url)));
const en3code = encodeURIComponent(encodeURIComponent((encodeURIComponent(url))));
const en4code = encodeURIComponent(encodeURIComponent(encodeURIComponent((encodeURIComponent(url)))));

console.log(decode(en2code)); // https://blog.csdn.net
console.log(decode(en3code)); // https://blog.csdn.net
console.log(decode(en4code)); // https://blog.csdn.net

没有编码的字符等于解码后的字符?

decodeURIComponent(str) === str,一般情况下不会出现问题,但是如果str字符串中含有特殊字符,就会导致解码函数报错。

image.png

所以在使用decodeURIComponent进行解码时,一定要先用encodeURIComponet编码

build报错 "el-table-column has no matching tag"

image.png

代码改动如下:

image.png

width=150 150要加引号

vue 模版prop绑定

image.png

em

它是相对于当前对象内文本的字体尺寸,若没有设置行内文本的字体尺寸,则使用浏览器默认字体尺寸,一般为16px。 image.png

image.png

juejin.cn/post/684490…