首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从零开始,手摸手搭建前端组件

MI-vant组件库 打造一个内部的组件库,在我们进行代码的重构,以及开发新的功能的时候,抽离公共的组件,减少代码的复用,注重业务与组件的分离,简化耦合度,便于开发与维护。...优化代码与使用jsV8补丁做效能调校,编译速度更快。webpack中babel-loader的版本不低于@babel/core的版本,否则编译会报错 以vue-cli 2.9.6版 的版本举?...改进了整个生态系统的视图层,插件和集成安装使用安装参考指南storybook for vue 自定义的webpack配置,解决扩展名问题和less编译问题 // 自定义webpack配置 const path...5.0 使用vue-loader15,默认使用babelrc进行解析和编译,需要自定义babelrc { "presets": [ "@babel/preset-env", "@vue...采用 es6 原生的模块机制进行模块的打包构建, 编译之后包 体积会更小。

2.7K30
您找到你想要的搜索结果了吗?
是的
没有找到

手摸手教你用 Storybook 改善组件库的开发

在上一篇文章 《手摸手教你封装跨项目复用的 Vue 组件》 中,介绍了一例用 rollup.js 封装 Vue.js 组件库的实践;限于篇幅和复杂度,其中组件的即时调试预览部分,也同样采用了 rollup...更快更强的构建 UI 组件 Storybook 是一个为开发独立的 React、Vue 和 Angular UI 组件的开源工具。...因为是承接上一篇的内容,所以本文就不展开介绍 Storybook 的种种细节,反正用它做的事情和我们之前已经做过的是一样的:实时编译调试、手动测试运行。 基于之前的项目,直接说明改动步骤。...要设置 Storybook 环境,需要先安装必要的依赖: npm install @storybook/vue --save-dev npm install vue-loader style-loader...为了正确解析 Vue 单文件组件中的样式部分,修改设置: // .storybook/webpack.config.js const path = require('path'); module.exports

1.9K10

Storybook 7 来了:迄今为止最大的更新

Hi 大家好我是 ssh,在公司项目中,我们编写组件文档支持都是用的 Storybook,总体来说体验很好,当然我也遇到了一些问题,比如说依赖容易安装失败或编译失败,需要深度配置 webpack 等等...预打包以加快启动速度和消除依赖冲突 Storybook 应用程序现在以预编译的代码库形式发布,无需你自己进行编译。这意味着启动速度更快,不再有依赖冲突的困扰。...这样,你既可以在编写 stories 时进行类型检查和自动完成,又可以使用 markdown 方便地编写内容。...详细信息请阅读使用 Storybook 测试运行器进行代码覆盖率。 组合步骤 为了使你能够将测试交互变成易读的组合,我们为 Storybook 的play函数添加了一个名为step的新结构。...但是,如果你使用的插件尚未更新,它可能无法工作,或者 Storybook 可能无法启动。

40330

前端基建处理之组件库优化方案

公共组件的运行依赖于宿主,要求引入frontend-common的项目(宿主)本身要安装依赖的包,否则无法运行,例如公共组件依赖element这个库,所以引入公共组件的项目也要求要安装element才可以运行...(不同的开发的编辑器配置不一样,导致大家提交上来的代码五花八门) 组件没有文档和预览(写公共组件的开发实现之后就没有花更多时间在文档和预览上,导致其他开发要使用组件的时候有上手成本,而且不方便熟悉这些公共组件的功能和使用...后续都从主分支拉新的分支进行开发,本地调试可以用自己的分支拉取代码调试,开发完之后合并到测试分支,线上环境和预发布环境必须用指定的分支来拉取公共组件库的代码。...component: 这是你想要展示的组件Storybook使用它来自动生成文档页(如果你启用了这个功能)。...可以考虑使用自动化测试在每次PR或者MR的时候做运行所有的单元测试,检查测试覆盖率之类的 如果无法做自动化测试的话,可以考虑每次PR或者MR的时候要求提交人补充本地运行所有单元测试的结果,这里就可以通过配置一些

25910

前端开发的新纪元:全方位工具栈探索 | 开源专题 No.57

它从头开始设计,可以根据不同的使用情况轻松地在库和框架之间进行扩展。Vue 由一个专注于视图层的核心库组成,并且还有一系列支持性库来帮助您处理大型单页应用程序中的复杂性。...渐进式:Vue 可逐步采纳,也可以作为完整开发解决方案 易学易用:只需掌握几个简单概念即可上手 灵活高效:通过模块化、组件化等方式提升开发效率 生态系统完善: vue-router:单页面应用路由管理工具...vuex:大规模状态管理工具 vue-cli:脚手架工具 vue-loader:webpack 下加载 .vue 文件 (单文件组件) loader vue-server-renderer:支持服务端渲染...storybookjs/storybook[3] Stars: 79.9k License: MIT picture Storybook 是一个用于构建 UI 组件和页面的前端工作坊,可以独立地进行开发...该项目有以下核心优势: 提供了一套全面的工具集合,包括编译器、格式化程序、linter 等。 支持多种前端框架,并且可以与其他构建工具无缝集成。

12610

vue 开发常用工具及配置二

2,storybook 一个组件的配置可能很多,为了让学习者直观查看,可以利用storybook写很多story,在左侧的每一项点击打开后,都是组件的一个不同的状态,这个不同的状态,就是一个story。...多个story合在一起像一本书,storybook名字由此而来。 效果大概如下所示: 如何使用它?...', methods: { action: action('clicked') }, }); 通过storybook,方便开发者进行类库组件的开发与调试工作 3,源码 https.../p/c2e44de0ddfd storybook 介绍和使用 比较火的响应式UI开发及测试环境 https://airbnb.io/react-dates airbnb公司实现的一个react的datepicker...组件 https://storybook.js.org/docs/guides/guide-vue/ Storybook for Vue 基于 vue+go 如何快速进行业务迭代?

1.1K20

从0到1搭建webpack2+vue2自定义模板详细教程

Jade; .vue 文件中允许自定义节点,然后使用自定义的 loader 处理他们; 把 和 中的静态资源当作模块来对待,并使用 Webpack loaders 进行处理; 对每个组件模拟出...vue-loader里面对于模版的处理方式略有不同,因为大多数 Webpack 模版处理器(比如 pug-loader)会返回模版处理函数,而不是编译的 HTML 字符串,我们使用原始的 pug 替代...Jade; .vue 文件中允许自定义节点,然后使用自定义的 loader 处理他们; 把 和 中的静态资源当作模块来对待,并使用 Webpack loaders 进行处理; 对每个组件模拟出...Jade; .vue 文件中允许自定义节点,然后使用自定义的 loader 处理他们; 把 和 中的静态资源当作模块来对待,并使用 Webpack loaders 进行处理; 对每个组件模拟出...Jade; .vue 文件中允许自定义节点,然后使用自定义的 loader 处理他们; 把 和 中的静态资源当作模块来对待,并使用 Webpack loaders 进行处理; 对每个组件模拟出

4.5K20

大势 | 2018最值得关注的JavaScript趋势

这里有一篇文章对React、Vue和Angular进行了很好的对比。 最终可能会发展成什么样子?Facebook会做它最擅长的东西:抄袭创新者然后世界继续使用React。...尽管Facebook从未在这场游戏中领先过,并且在创新的势头上无法Vue匹敌,但在工具使用、代码切割、路由以及状态管理方面,React加上Next.js能让你在体验上跟Vue接近许多,此外还能让你获得大规模的...Storybook是一个定义、开发和测试UI组件的环境。 它从年初的几乎一潭死水变成年中的大规模流行,这要感谢社区的巨大努力。...额外提示:建议你也看看 react-bluekit,这是Storybook的替代,Netflix的工程团队用来设计他们的组件库。...6.StorybookStorybookStorybook! 7.在一个项目上安装Prettier,让你的代码可读性更强。 8.在一个React项目上学习使用Jest截屏及Enzyme。

78520

塔荐 | 2018 年最值得关注的 JavaScript 趋势

这里有一篇文章对React、Vue和Angular进行了 很好的对比:https://medium.com/unicorn-supplies/angular-vs-react-vs-vue-a-2017...尽管Facebook从未在这场游戏中领先过,并且在创新的势头上无法Vue匹敌,但在工具使用、代码切割、路由以及状态管理方面, React加上Next.js能让你在体验上跟Vue接近许多 ,此外还能让你获得大规模的...但是社区对简化这个的东西(目前为止唯一的答案是Vue.js或者 Cashay )比较焦虑。 Storybook 哇哦,2017年Storybook 真的是火了 。...Storybook是一个定义、开发和测试UI组件的环境。 ? 它从年初的几乎一潭死水变成年中的大规模流行,这要感谢社区的巨大努力。...额外提示:建议你也看看 react-bluekit ,这是Storybook的替代,Netflix的工程团队用来设计他们的组件库。

1.5K80

奇怪的知识又增加了,梳理一遍都有哪些loader

Loaders webpack支持使用loader对文件进行处理,我们可以构建处理js之外的任何文件,甚至可以用Node.js编写自己的loader。 处理文件 raw-loader。...加载 Pug 和 Jade 模板并返回一个函数 markdown-loader 将 Markdown 编译为 HTML react-markdown-loader 使用 markdown-parse...解析器将 Markdown 编译为 React 组件 posthtml-loader 使用 PostHTML 加载并转换 HTML 文件 handlebars-loader 将 Handlebars 文件编译为...使用 mocha (Browser/NodeJS) 进行测试 eslint-loader 使用 ESLint 对代码进行格式化 框架 vue-loader 加载并编译 Vue 组件 angular2...-template-loader 加载并编译 Angular 组件 总结 简单介绍一下有哪些loader javascript基础知识总结

1.4K20

vue 2 使用Bus.js进行兄弟(非父子)组件通信 简单案例

vue2中废弃了$dispatch和$broadcast广播和分发事件的方法。父子组件中可以用props和$emit()。...如何实现非父子组件间的通信,可以通过实例一个vue实例Bus作为媒介,要相互通信的兄弟组件之中,都引入Bus,之后通过分别调用Bus事件触发和监听来实现组件之间的通信和参数传递。...在bus.js里面 写入下面信息 1 import Vue from 'vue' 2 export default new Vue; ?  ...在需要通信的组件都引入Bus.js     如果你的bus.js是自定义一个bus的文件那from后面就改成你的所放的位置 1 import Bus from './bus.js' ?  ...接下来就是要组件通信了  添加一个 触发 #emit的事件按钮 打开要和$emit通信的另外一个组件  添加 ?

1.2K30

storybook的介绍和使用 比较火的响应式UI开发及测试环境

可以可视化开发调试react,vue组件 官网:https://github.com/storybooks/storybook 至于为什么叫storybook,应该是敏捷开发中的user story...storybook本身提供了很多组件,也可以添加自己的组件作为story,方便他人查看,使用并测试。 使用storybook你需要有react或vue的开发经验,并且熟悉es6。...下来带大家简单使用一下: 首先全局安装storybook命令: npm i -g @storybook/cli 来到一个已存在的react项目,可以是由creat-react-app创建的 在根目录执行...image.png 然后又多出来个名为.storybook的目录,里面有附件组件文件 addons.js 和 config.js 安装后根据提示执行 yarn run storybook 启动storybook...=> ); // 使用action让storybook去记录log,可以在页面的action logger中查看 storiesOf

3K40

VueJS 开发常见问题集锦

由于异步组件最终会被编译为一个单独的文件,所以即使多个组件使用了同一个新特性(例如:Object.keys()),那么在每个编译后的文件中都会有一份该新特性的 polyfill 拷贝。...在 Vue使用 Pug 与 Less 安装依赖 Vue使用 vue-loader 根据 lang 属性自动判断所需要的 loader,所以不用额外配置 Loader,但是需要手动安装相关依赖:...还是相当方便的,不用手动修改 webpack 的配置文件添加 loader 就可以使用使用 pug 还是 pug-loader?...这时候推荐写一个模块,更优雅安全,也比较自然,唯一不足之处就是每个需要使用该函数或方法的组件都需要进行导入。   使用方法与前一种大同小异,就不多作介绍了。...所以在使用数组索引角标的形式更改元素数据时(arr[index] = newVal),视图往往无法响应式更新。

1.4K40

Vue的单文件组件

在很多 Vue 项目中,我们使用 Vue.component来定义全局组件,紧接着用 new Vue({ el: '#container '}) 在每个页面内指定一个容器元素,然后对组件进行引用。...,CSS 明显被遗漏 没有构建步骤 (No build step) 限制只能使用 HTML 和 ES5 JavaScript,而不能使用预处理器,如 Pug (formerly Jade) 和 Babel...文件扩展名为.vue 的 single-file components (单文件组件) 为以上所有问题提供了解决方法,并且还可以使用webpack 或Browserify等构建工具。...这是一个文件名为 Hello.vue 的简单实例: 现在我们获得: 完整语法高亮 CommonJS 模块 组件作用域的 CSS 正如我们说过的,我们可以使用预处理器来构建简洁和功能更丰富的组件,比如...即便你不喜欢单文件组件,你仍然可以把 JavaScript、CSS 分离成独立的文件然后做到热重载和预编译。 <!

58110

在 React 中使用 Storybook,构建强大的自定义 UI 组件

使用Storybook,您可以使用您最喜欢的框架快速创建UI组件,同时还提供一个整洁的接口来处理每个组件Storybook是UI组件的开发环境,它允许您在主应用程序之外的环境中创建和展示组件。...此外,它还集成了最流行的JavaScript框架,如React、Vue甚至Ruby。 你应该在React中使用Storybook吗?...与React一样,Storybook是记录UI组件和设计系统的一种引人注目的可视化方式。 除此之外,它还是呈现技术文档和演示实现细节的优秀工具。它还有助于在用户有机会与新配置进行交互之前测试它们。...构建第一个 Storybook 组件 Storybook使用组件驱动开发(CDD)方法来创建UI组件。按照这种方法,您可以模块化地构建,从基本组件开始,逐步将它们组合成复杂的屏幕和应用程序。...当然,你可以使用Vue、Angular和其他框架,但为了简单起见,我们将使用React。 1.

9K10
领券