Syean

记录,分享,回忆

如何用babel优雅地把某字符串改成变量名?

需求背景 近期产品有个需求,需要页面中所有包含客户的展示,根据系统版本进行展示, 销售版本客户称为”客户“,运营版本客户称为”用户“,原来代码里只是常量字符串,现在需要根据版本进行替换。需求很简单,创建一个全局变量,然后对源码进行一一替换即可。 一搜代码发现, 替换的工作量巨大,有近2000个地方包含了”客户“二字,手动替换肯定是不现实的。 拆解目标 拆解下我们的目标, 我们需要在包含有效......

《认知觉醒》阅读小记

上一篇博客文章竟然已经是四年前的事情了,最近看《认知觉醒》这本书,阅过留痕,输出点什么才能真正给自己留下一些东西。 一开始在微信读书榜单上看到这本书总觉得是什么鸡汤畅销文,直接略过,后面一度被其高评分所吸引,阅读之后,书里很多方法也是整合了当前比较“经典”书籍一些实践方法,例如《微习惯》、《刻意练习》、《心流》等等,恰巧这些书都曾看过,相当于又巩固了一下这些书里面的一些观点。 给我印象比较深......

Less自用笔记

SASS和LESS的区别 同 两者都是CSS预处理器,具有(如变量、嵌套、运算,函数等)等功能 异 1、编译环境不一样 Sass的安装需要Ruby环境,是在服务端处理的,而Less是需要引入less.js来处理Less代码输出css到浏览器,也可以在开发环节使用Less,然后编译成css文件,直接放到项目中,也有 Less.app、SimpleLess、CodeKit.app这样的工具,也有......
css

微信小程序上传照片后旋转问题解决

前言 又是好久好久好久没更新了,太懒了 这次记录一下在做mini项目中遇到的一个问题,当时没时间解决,mini结束后还是打算看看这个问题。 问题说明 当时是这样的,微信小程序在上传照片后,会有一定概率旋转,查阅了资料之后,发现是和图片中携带的exif信息中的orientation这个参数有关。 这里有一个关于EXIF 和 Orientation 相关的传送门: 使用 JavaScript 读......

2018年前端开发校招面试总结

2018年人生中最重要的事情之一就是找工作啦,从6月份初断断续续开始复习,7月内推开始,9月大批量的笔试、面试,10月初拿到了自己比较满意的offer,也是历经了快4个月。 简历投的主要是杭州、上海的一些大厂们,分享一些面试的问题吧,考到烂的如输入url发生了什么、闭包是什么就不放出来了。 不过这些面试题虽然常见,但是还是要用心掌握,因为考到的频率确实蛮高的。由于当时并没怎么接触nodejs......

Hexo博客配置PWA

想要实践一下pwa,就拿自己的博客来试验一下。 配置https 想要实现网站的pwa,需要将网站配置成https,主要是因为service worker只能下https下,本地localhost和127.0.0.1也是可以的。 ssl证书 购买的腾讯云的服务器,可以免费申请ssl证书,申请完后,下载证书得到一个压缩文件。解压缩后有好几个目录,因为是nginx的环境,把nginx下的证书和ke......

使用electron-packager打包exe文件

electron的项目写的差不错了,要打包成exe文件咯。 安装 在文件主目录下安装 electron-packager 1npm install electron-packager --save-dev 在package.json里添加"packager",设置成如下 12345"scripts": { "start": "electron .", ......

动效神器Lottie初体验——把AE动画转换成WEB原生动画

由 Airbnb 开发的 Lottie 是一个将 After Effects 动画提供给任意一个 iOS,macOS,Android 还有 React Native 原生 APP 的文件库。 这些动画通过一个叫 Bodymovin 的开源 After Effects 插件,以 JSON 文件的形式进行输出。Lottie 通过 JSON 格式下载动画数据并实时提供给开发者。 下载安装 1......

Electron入门实践总结

最近,用Electron写了一个桌面应用,是一个比较简单的应用,所以用的东西都是最浅的,做一个总结吧。 Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库。 Electron通过将Chromium和Node.js合并到同一个运行时环境中,并将其打包为Mac,Windows和Linux系统下的应用来实现这一目的。 安装 因为是基......

vuejs用户认证实例

在本例子中,使用的请求方法都是使用axios,vuejs的官方推荐。 安装与使用axios 1npm install axios 在main.js(如果你使用的是vue-cli脚手架搭建的项目)中引入 12import axios from 'axios'Vue.prototype.$http = axios 之后使用小栗子即是 12345this.$http.get(URL).then(......