0x00.前言 书接上文.项目第一个组件已经封装好,说明文档也已编写好.下面需要将说明文档发布到外网上,以此来展示和推广项目,使用 Github Pages功能实现.同时将组件发布之 npm 上,方便直接在项目中安装使用. 0x01.Github Pages发布 进入项目的 Github repo,点击右上角的 Settings 选项. 点击左侧菜单的 Pages 选项,右侧显示项目 Github Pages 初始配置.source 配置项值为 None 说明此功能尚未开启. 点击 source…
书接上文,接下来项目将引入babel支持ES6+语法兼容. Babel 是一个工具链,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中.中文官网 0x00.babel概念 Babel 是一个编译器(输入源码 => 输出编译后的代码).编译过程分为三个阶段:解析.转换和打印输出. Babel 本身不具有任何转化功能,它把转化的功能都分解到一个个plugin 里面.因此当我们不配置任何插件时,经过 b…
0x00.前言 书接上文.项目经过一系列的配置,开发脚手架已经搭建完毕.接下来开始封装自定义组件.并基于 markdown 文件生成文档和演示案例. 后续文章代码会根据篇幅,不影响理解的情况下进行部分删减,详细代码可在 Github Repo 查看. 0x01.封装第一个组件 封装组件 接下来封装一个loading组件. 创建 packages/loading/src/main.vue 文件(篇幅问题,样式代码详见Github). 创建 packages/loading/index.js 文件.…
书接上文.在团队协作中,为避免低级Bug.以及团队协作时不同代码风格对彼此造成的困扰与影响,会预先制定编码规范.使用 Lint工具和代码风格检测工具,则可以辅助编码规范执行,格式化代码,使样式与规则保持一致,有效控制代码质量,实现项目代码风格统一. 在代码格式化方面, Prettier 和 ESLint 有重叠,但两者侧重点不同:ESLint 所能提供的格式化功能很有限:而 Prettier 在格式化代码方面具有更大优势.而 Prettier 被设计为易于与 ESLint 集成,所以在项目中使用…
https://athena0304.github.io/element-analysis/ 1.模板字符串实现字符串拼接 typeClass() { return `el-alert--${ this.type }`; }, 2.inject inject,与父组件中的provide相对应,provide 选项允许我们指定我们想要提供给后代组件的数据/方法.相比 $parent 来说,这个用法可以让我们在任意后代组件中访问provide里的内容. // dropown.vue provide(…
springboot的最强大的就是那些xxxAutoconfiguration,但是这些xxxAutoConfiguration又依赖那些starter,只有导入了这些场景启动器(starter),我们很多自动配置类才能有用,并且还会新增一些功能, 这次就来一起写个简单的starter,来看看内部到底是什么原理! 脑中大概有个印象:我们要用一个场景(比如web),直接导入下图所示的依赖,但是在jar包里面去看这个,你会发现里面只有一些基本的配置文件,什么类都没有,就能够想到这个一类就类似一个公司…
前言: jquery是每个前端都会的基础技能,众所周知,jquery返回的是jquery实例方法,但是我们似乎是直接使用$就可以获取到jquery的方法啦,可以在浏览器中判断一下 window.$ 和window.jQuery,jQuery 之间的关系,就会发现他们之间是全等的: 不使用new方法调用 我们一般调用实例大部分是通过new方法,但是jquery却不是,而是直接调用,这是为什么呢 1. 创建实例方法: (function(root){ var jQuery = function(){…
0x.00 前言 在用了5章篇幅 ElementUI源码学习:从零开始搭建Vue组件库汇总 讲解了如何编写一个组件.发布npm以及生成展示文档之后.接下来将分析Element项目的代码结构,学习其工程化思想. 前端开发早已从瘦客户端(thin client)架构/中心服务器(server-centric)架构进入到胖客户端(fat client)架构,各家技术百花齐放,让人目不暇接,直呼学不动了!伴随项目开发的复杂度日益增高,开发中需要直面各种问题: 开发效率.产品质量.多人协作等. 前端工程化…
0x.00 前言 项目工程化系列文章链接如下,推荐按照顺序阅读文章 . 1️⃣ 源码剖析之工程化(一):项目概览.package.json.npm script 2️⃣ 源码剖析之工程化(二):项目构建.MD解析 3️⃣ 源码剖析之工程化(三):打包配置 前文对项目目录结构.package.json.npm script各命令任务内容和执行过程进行了概述.书接上文,build 目录下定义了许多项目构建脚本和配置(开发,打包,部署,持续集成). npm script各命令作为入口,会调用 buil…
0x.00 前言 项目工程化系列文章链接如下,推荐按照顺序阅读文章 . 1️⃣ 源码剖析之工程化(一):项目概览.package.json.npm script 2️⃣ 源码剖析之工程化(二):项目构建.MD解析 3️⃣ 源码剖析之工程化(三):打包配置 本系列文章主要通过解析element项目源码,从结构.功能.源码方面逐一解析,学习其模块化.组件化.规范化.自动化等多维度优秀实践.主要内容包含项目结构.npm script.项目构建.文档解析.打包配置.发布部署等. 本文是第三篇,介绍项目的…