首页 >>  正文

vue快速生成页面

来源:baiyundou.net   日期:2024-09-20

Vant 是有赞前端团队维护的移动端 Vue 组件库,提供了一整套 UI 基础组件和业务组件。通过 Vant 可以快速搭建出风格统一的页面,提升开发效率。


Vant

一、关于 1.0

距离 Vant 首次发布刚好过去了半年时间,在这半年时间里 Vant 团队广泛吸纳社区的反馈和建议,持续对组件进行打磨、优化,使得 Vant 逐渐成长为一个轻量、可靠的移动端 Vue 组件库。

在这个时间点上我们决定发布 Vant 的 1.0 正式版,希望未来有更多小伙伴能够参与到 Vant 的开发和使用中来。

GitHub 地址:github.com/youzan/vant

二、现有组件


三、开发理念

轻量化

作为移动端组件库,Vant 一直将轻量化作为核心开发理念。为了平衡日益丰富的功能和轻量化之间的矛盾关系,我们尝试了很多的优化方式,包括支持组件按需加载、公共模块复用、组件编译流程优化等。

在应用一系列的优化手段之后,目前 Vant 的组件平均体积仅有 8.8KB,Uglify + Gzip 后约 1KB。作为对比,mint-ui 的组件平均体积为 15.2KB,某些组件库的组件平均体积甚至在 25KB 以上。

Vant 之所以能保持如此小的组件体积,主要归功于我们独特的组件编译方式。目前主流的组件编译方式是通过 webpack 搭配 vue-loader 对每个组件进行编译,为每个组件生成一个打包后 JS 文件。这样的做法会产生大量的冗余代码,比如 webpack 内置的模块化代码、vue-loader 内置的 normalize 函数、重复引入的 babel helper 等等,而我们不希望在组件的编译结果中引入这些冗余代码。

一开始我们尝试通过使用 rollup 和 rollup-plugin-vue 去解决上述的问题,但很快我们就发现了更为直接的方式,即通过官方提供的 vue-template-compiler 和 babel 对组件进行编译,这样的方式简单纯粹,编译出的代码非常干净,细节在此不做赘述,有兴趣的同学可以看下 Vant 中构建部分的源码。

快速迭代

另外一个很重要的理念是快速迭代。有赞前端团队几十个工程师每天都在用的就是现在你看到的 GitHub 上这个版本,我们并没有一个所谓的“内部版”。同时,出于对自己名誉的珍视,我们不是简单地把它开源了事,而是把它当做一款技术产品去维护,不单单自己用的爽,也要让别人好用,因此我们会保持对社区需求的快速响应、对 bug 及时跟进并修复。

迄今为止项目 commit 总数超过 1600 次,解决 issue 300 个,合并 Pull Request 400 个,发布 90 次,基本上保持了一周 1 ~ 2 次的发布节奏。这里面包含了很多社区开发者的付出,感谢他们对 Vant 作出的贡献~ 在未来我们也会继续保持这样的开发节奏,为社区输出更好的开源产品。

生态化

除了提供组件以外,我们也在为丰富 Vant 的开发生态做很多尝试,希望能覆盖各个场景下的开发需求,为大家提供便利。下面是我们现有的一些生态或能力:

  • 基于 vue-cli 的脚手架 vue-cli-template-vant
  • 支持 nuxt 服务器端渲染
  • 支持 Typescript 类型检测
  • 支持 i18n 多语言定制
  • 支持通过 postcss 插件进行主题定制
  • 官方 Demo 仓库 - vant-demo
  • 基于相同视觉规范的小程序组件库 - zanui-weapp
  • 开源社区的移动商城示例项目 - vant--mobile-mall

在生态化方面我们还有很多需要补齐的方面,比如提供对 rem 的支持、vscode 代码提示插件等,这些将会是我们 2023年05月15日尝试的方向。

四、最后

开源项目的进步离不开社区的贡献,非常感谢过去对 Vant 提出 PR 和意见的所有人,希望未来能有更多的同学加入到 Vant的开发中来。如果你对有赞的前端团队感兴趣,也欢迎加入我们一起玩耍~

","gnid":"9d273ca6a6c1c2142","img_data":[{"flag":2,"img":[{"desc":"","height":"1000","title":"","url":"https://p0.ssl.img.360kuai.com/t0185058863c38656c6.png","width":"1000"},{"desc":"","height":"2198","title":"","url":"https://p0.ssl.img.360kuai.com/t0120831b39a4a8eb1b.png","width":"2238"}]}],"original":0,"pat":"art_src_0,fts0,sts0","powerby":"hbase","pub_time":1684130683000,"pure":"","rawurl":"http://zm.news.so.com/20df27ade43f4f3acead1c1be7936064","redirect":0,"rptid":"793fb0874455d588","rss_ext":[],"s":"t","src":"大凡","tag":[{"clk":"ktechnology_1:github","k":"github","u":""}],"title":"vant_轻量、可靠的移动端Vue

索楠乔4839vue.js怎么在页面一开始加载数据 -
贡阅秦18344583769 ______ 加载和显示新数据在vue里最简单了,往你的数据中添加新的值就可以了:methods:{loadMore:function(){yourAjaxMethod(function(moreData){this.items.push(moreData);}.bind(this));}}另外一个问题就是如何触发loadMore,这里像你说的,滚动.所以你需要监听下scroll事件或者使用其他滚动插件比如iscroll,在对应的回调里调用loadMore

索楠乔4839vue.js怎样构建后台管理界面 -
贡阅秦18344583769 ______ 介绍: 这是一个用vuejs2.0和element搭建的后台管理界面. 相关技术: vuejs2.0:渐进式JavaScript框架,易用、灵活、高效,似乎任何规模的应用都适用. element:基于vuejs2.0的ui组件库. vue-router:一般单页面应用spa都要用到的前端路由. vuex:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.

索楠乔4839vjpage怎么快速建大量页面
贡阅秦18344583769 ______ 选中类似的页面,然后ctrl+c,再重复按下ctrl+v,可瞬间建多个页面.

索楠乔4839如何用element快速搭建页面 -
贡阅秦18344583769 ______ document.registerElement() 函数用来创建自定义的HTML元素.将返回一个构造函数,其中有一个参数选项,用来声明自定义HTML元素的名称,另外有一个可选参数项,用来描述原型的对象,自定义功能的元素. 在下面的示例中,简单的...

索楠乔4839如何使用php动态生成html页面? -
贡阅秦18344583769 ______ 以最简单的新闻网页为例,先是做一个模板页,假定其中3个地方要动态更换的:标题,内容,日期,哪么模板中这3个地方都要用特殊的名称表示.要生成html页时,先读入html模板页,再查询数据库,把查询到标题,内容,日期的实际值替换模板中的特殊名称,并按规则命名另存这个文件.以上是动态生成html页的基本原理,实际工作中,可灵活处理,比如一次性生成所有页,或者发布一个生成一个,可以用一个模板,也可以根据类别用3个5个模板.模板可以保存为文件文件,也可保存在数据库中等等.

索楠乔4839vue.js 文件都有什么作用 -
贡阅秦18344583769 ______ 1. VueJS 目的:VueJs的产生核心是为了解决:a: 解决数据绑定的问题,b: vue框架产生的主要目的是为了开发大型单页面应用,c: 它还支持组件化,也就是可以将页面封装成若干个组件,采用积木式进行编程,这样使页面复用性达到最高(支持组件化).2.VueJS 特性:I: MVVM模式(数据变量(model)发生改变 视图(view)也改变, 视图(view)改变,数据变量(model)也发生改变)

索楠乔4839vue怎么传值跳转到另一个html页面 -
贡阅秦18344583769 ______ 跨页面通信url带参数或者storage、cookie.单页面跳转使用vue-router

索楠乔4839vue.js做出来的网页是响应式的吗 -
贡阅秦18344583769 ______ Vue.js 里面有一个功能插件就是有关实现是响应式的 —— 模型只是普通对象,修改它则更新视图.这让状态管理非常简单且直观,不过理解它的原理也很重要,可以避免一些常见问题.多去学习vue里面的功能插件实现效果的功能比较强悍.

索楠乔4839vue create 和vue init webpack的区别 -
贡阅秦18344583769 ______ vue create 是vue-cli3.x的初始化方式,目前模板是固定的,模板选项可自由配置,创建出来的是vue-cli3的项目,与cue-cli2项目结构不同,配置方法不同,具体配置方法参考官方文档网页链接. vue init 是vue-cli2.x的初始化方式,可以使用github上面的一些模板来初始化项目,webpack是官方推荐的标准模板名. vue-cli2.x项目向3.x迁移只需要把static目录复制到public目录下,老项目的src目录覆盖3.x的src目录(如果修改了配置,可以查看文档,用cli3的方法进行配置)

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024