showlotus's blog

首页

归档

Turboui i18n:一个国际化提示插件

VS Code 插件

前段时间,项目在做国际化整改,即要把之前显示中文的地方,换成根据当前用户所选语言,展示成对应的文字。项目里也有用到国际化的插件,只需要把配置文件写好(当语言为中文时,展示什么文字;当语言为英语时,展示什么文字),放在 i18n 目录下,然后调用插件提供的方法,剩下的就无需操心啦。 整改的过程中,也发现了一个问题:比如,有一个提示语场景,之前代码里直接写的是:"当前未选择 ...

VueMixinsLoader v1.0.2 release !

LoaderVueWebpack

昨天闲来无事,逛逛 GitHub,突然发现有人 star 了我的项目 vue-mixins-loader,可给我激动坏了。本着有一个人用,就要维护到底的原则,我准备给这个 Loader 做一次优化。在实际用的过程中发现一个问题:使用时,会把项目中所有 .vue 文件都给注入 mixins 。比如有些外部引入的 .vue 组件,这就完全没有必要去注入 mixins 。所以,计划再新增一个 ...

开发利器:Todo Tree

Dev ToolsVS Code 插件

最近换了一份新工作,也入职一段时间了,平时开发工具还是 VS Code ,但是公司内网没有开放一些外网权限,也就导致不能同步自己的账号,也就意味着我要手动去把之前用的插件挨个再下载一遍,emmmmm。不过也不是所有的都能下载,插件市场提供的都是公司自己阉割过的版本,有些版本低的离谱,不过平时开发也够用了。之前我都是用 TODO HighLight + Todo Tree ,使用关键词标记 ...

VueMixinsLoader:类似 Mixin 功能的 Loader🦉

ASTBabelVueWebpack

最近要给项目用到的组件库里的所有组件都要加一个 prop ,总共 126 个组件,如果是手动加,emm,也不是不可以,但就是有点呆,更何况如果后续有变动的话,又得重新来一遍。于是就想,如何用一种全局的配置,去统一给所有组件加 prop (这里没有使用 Vue.mixin 去全局混入,下文会作解释)。最后打算开发一个 Webpack Loader 去实现这个功能,刚好之前也没写过 Lo ...

当 JSON 字符串更新时添加提示动画🦄 <W17>

CSSJavaScriptJSONVue

为了便于用户能直观地看到配置项的一些属性,于是把整个配置以一个 JSON 串的形式展示。本来打算以一个表格或者列表的形式展示,不过配置项中某些属性是 Object 类型,思来想去,还是 JSON 串更直观一点。但是当某个配置改变时,JSON 里的变动不是很明显(如下图所示)。当这个 JSON 里的属性太多时,就不容易能注意到是哪个配置变了。于是,就想能不能做一个属性变化的提示,当某个 ...

给 ViewDesign 加个主题换肤💖 <W16>

CSSJavaScriptViewDesign

最近要做主题换肤的功能,项目用的 UI 框架是 ViewDesign ,只支持定制主题,不支持动态主题。查了好多资料,比如:用 less 变量更换、预设几种主题的 CSS 的文件,再动态切换 link 标签的引入资源路径等等。这些方案的应用场景是,对项目中完全自主开发的模块的颜色进行切换。也即,你自己开发了一个导航栏(Menu)和顶部(Header),这俩你是完全控制的,用上述提到的 ...

开发一个 Prettier 插件:全局替换资源引入路径 <W15>

ASTBabelPrettier

最近在迁移项目,对于一些资源的引用路径,需要换成一个新的路径。还好之前都把资源引用的方式,改成以 @/.. 别名引入的方式,替换起来还算简单。先把新旧路径列出来,然后用 VSCode 的全局替换,因为就只有三种,CV 三次就好了。这种方法,在当时我认为是比较好的了,其实也有打算整个什么脚本啥的,但不知道从何做起。直到当天晚些时候,看到了神光大佬最新发布的一篇文章:写一个同事见了会打你 ...

用 npm-pack-all 批量生成 .tgz 文件 <W14>

nodenpmtgz

最近,组内的一位同学咨询我:能不能离线下载 npm 包,我的回答是:据我所知,应该不行。然后他发来一个链接,说是按照这个操作,最后一步报错。emm,又涨知识了。点开大概看了看,用到了 npm-pack-all 这个工具,可以将 node_modules 中的依赖生成一份 .tgz 文件,再使用 npm install 安装这个 .tgz 文件就好了。感觉挺有意思,不过如果一步一步生成 ...

Vue 中如何取消 ViewDesign 中组件内部的指令 <W13>

ViewDesignVue

最近需要做这样一个功能:当展开下拉框或者日期选择器的浮层面板后,点击某个区域,不会让浮层消失。如果有了解过组件库内部源码的话,这种浮层的点击外部后隐藏,大多数组件内部都是通过一个 clickOutside 的指令来实现,而目标功能就是需要实现一块 “禁区”,当点击 “禁区” 时不会触发 clickOutside。本文就是基于该功能的实现对这个指令进行探索,记录自己实现这个功能的全过程 ...

拦截网页请求并处理数据 <W12>

浏览器脚本JavaScript

有时候需要拦截网页的某个请求,收集响应数据,单个请求直接操作就好了;如果是多个相同 API 的请求,如果有个批处理数据的工具岂不美哉。于是,它来了。本来打算弄成一个油猴插件,但是浏览器总是会把插件的打印日志给 “吞掉”,那就先直接在控制台运行脚本,更简单明了。 介绍用到了一个插件 ajaxhook,官方是这样介绍的: 在 XMLHttpRequest 对象发起请求之前、收到响应内容 ...

12347