漆黑菌的博客

也许面向工资编程才是先进生产力的发展方向...

写给自己看的lint规则

依赖 基于vue-cli+Airbnb规则+typescript生成模版,加入eslint-plugin-import、eslint-plugin-jsonc和eslint-plugin-lodash。eslint-plugin-lodash可以通过lodash/import-scope提示使用import functionName from ‘lodash/functionName’ 的...

利用shared worker实现浏览器关闭全部tab后登出用户

效果 用户在在关闭全部浏览器中的tab页后,清除用户信息。传统实现遇到的新问题。 把用户信息塞到没有过期时间的cookie中。现代浏览器有个会话保持功能,打开后无过期时间cookie并不会自动清空。 把用户信息塞入sessionStorage。现代浏览器有个新安全策列,通过a标签直接打开的tab不共享sessionStorage。导致新开页丢失用户登录信息。 如何share...

qiankun webpack-hot-reload 失效

依赖版本 新版webpack-dev-server(4.8.1)获取更新数据方式是通过fetch获取一个xxxxx-.hot-update.json/js的文件来更新,所以如果因为fetch等问题导致无法获取文件的话,hot reload会失效。 dev server CORS qiankun中父应用需要使用fetch拉取子应用的数据,但是子应用在开发时不在同一端口,有跨域问题,所以需要设...

如何交付一个带有nginx+brotli的前端镜像

啥是brotli 一种比gzip效率更高的新压缩格式。在Chrome>=50、Firefox>=44等浏览器上支持(详情见“brotli” | Can I use),在现在这个时间点(2022年)已经有了广泛的支持,而且浏览器在请求时会告诉服务器自己支持的压缩格式,老浏览器可以很方便的回落到gzip,可以说没啥理由不上。 nginx+brotli的docker镜像 gzip在n...

一些字体渲染的总结

编写一个够用的body默认样式 body { font-family: 'Nunito', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', Arial, sans-serif; font-weight: 400; font-size: 13px; // Fixme 用于覆盖extend文档站中...

单vue技术栈+qiankun全局状态管理

vue2+qiankun+vuex全局状态管理 基于他人项目改造的,有用的部分是main + app-vue-history + app-vue-history2。项目链接:https://github.com/DarknessChaser/qiankun-global-test vue3+qiankun+pinia全局状态管理 基于他人项目改造的,有用的部分是main + huge-sp...

vue-cli5+vue3整合monaco-editor和monaco-yaml

demo项目地址 https://github.com/DarknessChaser/vue3-monaco-editor-demo 一些踩坑总结 神奇的网络问题 配代理+有点耐心。npm i执行翻车很正常,心态要好。 注意版本信息 源代码和npm版本的差异 其实现在monaco-editor和monaco-yaml main分支上都已经有官方demo了,是很棒的参考。但是需要注意的...

科学使用Sourcetree和Gitlab

起因 Sourcetree使用HTTPS访问公司Gitlab的时候总是无法正确验证token。经过实验是因为公司Gitlab禁止账号密码登录(GitHub 2021年年底应该也禁用了),因此需要使用SSH方式。 设置 Sourcetree SSH访问支持两种模式,一种是OpenSSH,另一种是PuTTY。建议使用OpenSSH,因为右下角不会单独开一个SSH工具的图标。参考文章如何在 Wi...

一些也许有用的解决node内存不足的方法

也许的问题 有的时候是因为依赖有问题,需要升级or降级。但是也可以先设置一下看看是不是真的只是内存不够用。ps: vue-cli在我的机器上默认使用的内存是2G。 验证是否设置成功 在node中运行 console.log(v8.getHeapStatistics().heap_size_limit/(1024*1024)); 设置方法 使用环境变量,跟系统有关,Linux系列e...

web端常见editor和terminal解决方案

editor Ace (editor) npm的ace-builds@1.4.12 357.5kB 97.9kB 爹是AWS,主要产品是AWS Cloud9,更新有保障。 开源许可证是BSD New,可以二次打包商用。 基础使用JavaScript上色功能+主题+联想+worker 372kb(editor基础)+78kb(显示联想的语言基础支持) + 20kb(JavaScript支持)...