初识 ESLint
昨天在学习 vue-element-admin 的时候发现一个神奇的现象,因为我的编码习惯是使用 4 个空格做为缩进,但在 VS Code 里编辑 vue-element-admin 项目的时候,发现一保存,编辑器就会对代码进行格式化(我以 4 个空格缩进写的代码会被格式化成 2 个空格缩进),这个“黑科技”突然就引起了我的性趣兴趣,于是一路顺藤摸瓜,发现了今天的主角 —— ESLint
昨天在学习 vue-element-admin 的时候发现一个神奇的现象,因为我的编码习惯是使用 4 个空格做为缩进,但在 VS Code 里编辑 vue-element-admin 项目的时候,发现一保存,编辑器就会对代码进行格式化(我以 4 个空格缩进写的代码会被格式化成 2 个空格缩进),这个“黑科技”突然就引起了我的性趣兴趣,于是一路顺藤摸瓜,发现了今天的主角 —— ESLint
开发思路远比开发流程及工具更重要。
开发中一个很重要的思想就是工程化,在我理解,工程化落实到实际开发中,最直观的体现就是封装, js 我们会封装函数库, sass 我们会封装常用的 @mixin
,等等。
这次就针对 Vue 中使用的 Axios ,对它进行一次封装。
近期做的一个项目,涉及到一个类似于 dialog 的组件,由于传递的数据比较多,为了偷懒,把部分可选数据统一放到一个对象变量里,打算用对象直接传递,于是,坑就来了。
在用 Vue 写 demo 的时候发现可能会遇到这样的需求,就是针对不同的页面, <body>
的样式需要做一些变化。比如不同页面设置不同的背景色,但这就碰到一个问题,如果直接在页面里设置 body 的样式,页面并不会生效,如下:
1 | <template> |
虽然学习 Vue 没多久,但按捺不住我这颗想为社区贡献的心,一直就想着有机会能发布一个自己的组件,但搜遍各种教程,发现起步操作几乎都是 vue init webpack-simple
,这是 Vue CLI 2.x 的语法,而我本地已经早已安装了 Vue CLI 3,难道要降级才能发布组件?不存在的,这辈子不可能降级的,那只能硬着头皮慢慢摸索了……
在《Electron 初体验》里我初步入门并上手了 Electron ,在这篇文章里,我会进一步熟悉 Electron 中菜单以及系统托盘的 API ,并实现对应的功能。
浅入浅出居然出第二篇了,之前整理了一篇《浅入浅出 Vue 组件》,这次就再深入一点,学习一下动态组件。
平时习惯将一些偶尔看到并且感兴趣的技术文章放到收藏夹里,目的是等有空的时候再仔细拜读或学习,但无奈抵不住自己的惰性,于是收藏夹越来越臃肿。近期在整理的时候就发现了好几篇关于 Electron 的文章,但我已经记不起当时为何收藏,大概每个前端开发工程师都有个做软件的梦想吧。
因为收藏了蛮多 Electron 的文章,直接清理掉感觉可惜,于是趁近期工作任务不是很重的前提下,对 Electron 进行了简单的入门,并尝试用 Electron 开发一套公司内部 OA 系统,这也是这篇文章的由来(因为开发过 Web APP 版的 OA ,所以桌面版的 OA 开发起来不算太费劲,业务代码基本可以沿用,主要的坑还是在 Electron 上)。
为什么标题要叫“浅入浅出”呢?因为是刚开始学 Vue.js(以下简称 Vue ),没有做很深入的研究,只是跟着官方教程和 API 一点点熟悉语法,所以标题就叫了个“浅入浅出”,而这篇博文也更像一篇学习笔记。
在学习官方教程的时候,我发现模板语法、计算属性、条件和列表渲染,还有事件处理,基本看一遍教程,上手熟悉下就基本都能掌握。唯独组件这块花了很多时间,并且在写一个 todolist 的 demo 时候踩了很多坑,又是看教程,又是查资料,才感觉初步掌握。
这篇文章没有用到 Webpack 、Node.js 技术,也没有使用到 Vue 里的单文件组件,仅用最低成本方式,在页面里引用 Vue 的 CDN ,并通过 Vue.component();
方法直接创建组件。