npm link, unlink, remove 摘要

npm link 是将当前目录包链接到全局
npm remove -g pka-name 是将全局的链接的 pkg-name 包移除
npm unlink pka-name 是将当前项目中软链接的包移除

vue实现点击空白关闭弹窗,模拟下拉框Dropdown

方法一: 给外层容器定义一个阻止冒泡事件 @click.stop,则该容器内的点击不会传递到外层容器,所以全局监听不到该点击事件,在该容器内部点击不会触发点击函数。当弹框出现时,点击外部空白区域,弹框关闭。

方法二: 给外层容器设置一个 ref="mian",当 visible为 true时,弹框出现。在该容器外点击 this.$refs.main.$el.contains(e.target)为 false,在容器内点击则为 true。

两种方法都需要组件挂载完毕,全局添加一个点击事件,组件注销前,将点击事件移除。

Read more

js去除url指定参数

/**
* @description Remove the specified params
* @param {array} params
* @return {string} res
*/
const handleRemoveParam = (params = []) => {
const { origin, pathname, search } = window.location;
const arr = search.substring(1).split("&");
let collect = [];

arr.forEach((item, ind) => {
params.forEach((param) => {
if (item.includes(`${param}=`)) {
collect = [...collect, ind];
}
});
});

for(let i = 0; i < collect.length; i++) {
const item = i > 0 ? collect[i] - i : collect[i];
arr.splice(item, 1);
}

const newSearch = arr.join('&');
const res = newSearch ? origin + pathname + '?' + newSearch : origin + pathname;
return res;
}

const str = handleRemoveParam(['bbb', 'aaa', 'token']);
console.log(str);

微信H5自定义分享在ios下失效的问题

ios分享失效,表现为不显示缩略图,自定义url不正确,无法获取title等

  • IOS:每次切换路由,SPA的url是不会变的,发起签名请求的url参数必须是当前页面的url(就是最初进入页面时的url)
  • Android:每次切换路由,SPA的url是会变的,发起签名请求的url参数必须是当前页面的url(不是最初进入页面时的)
Read more

git 修改本地和远程分支名称

git branch -a #查看所有分支
git branch -r #查看远程分支
git branch -vv #查看本地分支所关联的远程分支

git branch -m old_branch new_branch #重命名本地分支
git push origin :old_branch #删除远程分支
git push --set-upstream origin new_branch #推送并关联新的远程分支

CommandLineTools reinstall

xcode-select --print-path
# in my case /Library/Developer/CommandLineTools

# the next line deletes the path returned by the command above
sudo rm -rf $(xcode-select --print-path)

# install them (again) if you don't get a default installation prompt
xcode-select --install

sketch中英文切换

Sketch 54版本之后会强制使用Mac系统语言

使用Mac终端:

defaults write com.bohemiancoding.sketch3 AppleLanguages '(en)'
defaults write com.bohemiancoding.sketch3 AppleLanguages '(zh-CN)'

linux软链接创建、删除和更新

创建

ln -s 【目标目录】 【软链接地址】
ln -s /var/www/test test

软链接创建需要同级目录下没有同名的文件

删除

rm -rf 【软链接地址】
rm -rf test

软链接地址最后不能含有“/”,当含有“/”时,删除的是软链接目标目录下的资源,而不是软链接本身

修改

ln -snf 【新目标目录】 【软链接地址】
ln -snf /var/www text

这里修改是指修改软链接的目标目录