yyx的vue-vue webpack构建项目-meteor-example是最终的vue+meteor解决方案吗

Vue.js通过简洁的API提供高效的数据绑定和灵活的组件系统。在前端纷繁复杂的生态中,Vue.js有幸受到一定程度的关注,目前在GitHub上已经有5000+的star。本文将从各方面对Vue.js做一个深入的介绍。
Vue.js 是我在2014年2月开源的一个前端开发库,通过简洁的 API 提供高效的数据绑定和灵活的组件系统。在前端纷繁复杂的生态中,Vue.js有幸受到一定程度的关注,目前在 GitHub上已经有5000+的star。本文将从各方面对Vue.js做一个深入的介绍。
2013年末,我还在Google Creative Lab工作。当时在项目中使用了一段时间的Angular,在感叹数据绑定带来生产力提升的同时,我也感到Angular的API设计过于繁琐,使得学习曲线颇为陡峭。出于对Angular数据绑定原理的好奇,我开始 &造轮子&,自己实现了一个非常粗糙的、基于依赖收集的数据绑定库。这就是Vue.js的前身。同时在实际开发中,我发现用户界面完全可以用嵌套的组件树来描述,而一个组件恰恰可以对应MVVM中的ViewModel。于是我决定将我的数据绑定实验改进成一个真正的开源项目,其核心思想便是 &数据驱动的组件系统&。
MVVM 数据绑定
MVVM的本质是通过数据绑定链接View和Model,让数据的变化自动映射为视图的更新。Vue.js在数据绑定的API设计上借鉴了Angular的指令机制:用户可以通过具有特殊前缀的HTML 属性来实现数据绑定,也可以使用常见的花括号模板插值,或是在表单元素上使用双向绑定:
&!-- 指令 --&
&span v-text="msg"&&/span&
&!-- 插值 --&
&span&{{msg}}&/span&
&!-- 双向绑定 --&
&input v-model="msg"&
插值本质上也是指令,只是为了方便模板的书写。在模板的编译过程中,Vue.js会为每一处需要动态更新的DOM节点创建一个指令对象。每当一个指令对象观测的数据变化时,它便会对所绑定的目标节点执行相应的DOM操作。基于指令的数据绑定使得具体的DOM操作都被合理地封装在指令定义中,业务代码只需要涉及模板和对数据状态的操作即可,这使得应用的开发效率和可维护性都大大提升。
与Angular不同的是,Vue.js的API里并没有繁杂的module、controller、scope、factory、service等概念,一切都是以&ViewModel 实例&为基本单位:
&!-- 模板 --&
&div id="app"&
// 原生对象即数据
var data = {
msg: 'hello!'
// 创建一个 ViewModel 实例
var vm = new Vue({
// 选择目标元素
el: '#app',
// 提供初始数据
data: data
渲染结果:
&div id="app"&
在渲染的同时,Vue.js也已经完成了数据的动态绑定:此时如果改动data.msg的值,DOM将自动更新。是不是非常简单易懂呢?除此之外,Vue.js对自定义指令、过滤器的API也做了大幅的简化,如果你有Angular的开发经验,上手会非常迅速。
数据观测的实现
Vue.js的数据观测实现原理和Angular有着本质的不同。了解Angular的读者可能知道,Angular的数据观测采用的是脏检查(dirty checking)机制。每一个指令都会有一个对应的用来观测数据的对象,叫做watcher;一个作用域中会有很多个watcher。每当界面需要更新时,Angular会遍历当前作用域里的所有watcher,对它们一一求值,然后和之前保存的旧值进行比较。如果求值的结果变化了,就触发对应的更新,这个过程叫做digest cycle。脏检查有两个问题:
任何数据变动都意味着当前作用域的每一个watcher需要被重新求值,因此当watcher的数量庞大时,应用的性能就不可避免地受到影响,并且很难优化。
当数据变动时,框架并不能主动侦测到变化的发生,需要手动触发digest cycle才能触发相应的DOM 更新。Angular通过在DOM事件处理函数中自动触发digest cycle部分规避了这个问题,但还是有很多情况需要用户手动进行触发。
Vue.js采用的则是基于依赖收集的观测机制。从原理上来说,和老牌MVVM框架Knockout是一样的。依赖收集的基本原理是:
将原生的数据改造成 &可观察对象&。一个可观察对象可以被取值,也可以被赋值。
在watcher的求值过程中,每一个被取值的可观察对象都会将当前的watcher注册为自己的一个订阅者,并成为当前watcher的一个依赖。
当一个被依赖的可观察对象被赋值时,它会通知所有订阅自己的watcher重新求值,并触发相应的更新。
依赖收集的优点在于可以精确、主动地追踪数据的变化,不存在上述提到的脏检查的两个问题。但传统的依赖收集实现,比如Knockout,通常需要包裹原生数据来制造可观察对象,在取值和赋值时需要采用函数调用的形式,在进行数据操作时写法繁琐,不够直观;同时,对复杂嵌套结构的对象支持也不理想。
Vue.js利用了ES5的Object.defineProperty方法,直接将原生数据对象的属性改造为getter和setter,在这两个函数内部实现依赖的收集和触发,而且完美支持嵌套的对象结构。对于数组,则通过包裹数组的可变方法(比如push)来监听数组的变化。这使得操作Vue.js的数据和操作原生对象几乎没有差别[注:在添加/删除属性,或是修改数组特定位置元素时,需要调用特定的函数,如obj.$add(key, value)才能触发更新。这是受ES5的语言特性所限。],数据操作的逻辑更为清晰流畅,和第三方数据同步方案的整合也更为方便。
在大型的应用中,为了分工、复用和可维护性,我们不可避免地需要将应用抽象为多个相对独立的模块。在较为传统的开发模式中,我们只有在考虑复用时才会将某一部分做成组件;但实际上,应用类 UI 完全可以看作是全部由组件树构成的:
因此,在Vue.js的设计中将组件作为一个核心概念。可以说,每一个Vue.js应用都是围绕着组件来开发的。
注册一个Vue.js组件十分简单:
<ponent('my-component', {
template: '&div&{{msg}} {{privateMsg}}&/div&',
// 接受参数
msg: String&br&
// 私有数据,需要在函数中返回以避免多个实例共享一个对象
data: function () {
privateMsg: 'component!'
注册之后即可在父组件模板中以自定义元素的形式调用一个子组件:&
&my-component msg="hello"&&/my-component&
渲染结果:
&div&hello component!&/div&
Vue.js的组件可以理解为预先定义好了行为的ViewModel类。一个组件可以预定义很多选项,但最核心的是以下几个:
模板(template):模板声明了数据和最终展现给用户的DOM之间的映射关系。
初始数据(data):一个组件的初始数据状态。对于可复用的组件来说,这通常是私有的状态。
接受的外部参数(props):组件之间通过参数来进行数据的传递和共享。参数默认是单向绑定(由上至下),但也可以显式地声明为双向绑定。
方法(methods):对数据的改动操作一般都在组件的方法内进行。可以通过v-on指令将用户输入事件和组件方法进行绑定。
生命周期钩子函数(lifecycle hooks):一个组件会触发多个生命周期钩子函数,比如created,attached,destroyed等等。在这些钩子函数中,我们可以封装一些自定义的逻辑。和传统的MVC相比,可以理解为 Controller的逻辑被分散到了这些钩子函数中。
私有资源(assets):Vue.js当中将用户自定义的指令、过滤器、组件等统称为资源。由于全局注册资源容易导致命名冲突,一个组件可以声明自己的私有资源。私有资源只有该组件和它的子组件可以调用。
除此之外,同一颗组件树之内的组件之间还可以通过内建的事件API来进行通信。Vue.js提供了完善的定义、复用和嵌套组件的API,让开发者可以像搭积木一样用组件拼出整个应用的界面。这个思路的可行性在Facebook开源的React当中也得到了印证。
基于构建工具的单文件组件格式
Vue.js的核心库只提供基本的API,本身在如何组织应用的文件结构上并不做太多约束。但在构建大型应用时,推荐使用Webpack+vue-loader这个组合以使针对组件的开发更高效。
Webpack是由Tobias Koppers开发的一个开源前端模块构建工具。它的基本功能是将以模块格式书写的多个JavaScript文件打包成一个文件,同时支持CommonJS和AMD格式。但让它与众不同的是,它提供了强大的loader API来定义对不同文件格式的预处理逻辑,从而让我们可以将CSS、模板,甚至是自定义的文件格式当做JavaScript模块来使用。Webpack 基于loader还可以实现大量高级功能,比如自动分块打包并按需加载、对图片资源引用的自动定位、根据图片大小决定是否用base64内联、开发时的模块热替换等等,可以说是目前前端构建领域最有竞争力的解决方案之一。
我在Webpack的loader API基础上开发了vue-loader插件,从而让我们可以用这样的单文件格式 (*.vue) 来书写Vue组件:
.my-component h2 {
color: red;
&template&
&div class="my-component"&
&h2&Hello from {{msg}}&/h2&
&other-component&&/other-component&
&/template&
// 遵循 CommonJS 模块格式
var otherComponent = require('./other-component')
// 导出组件定义
module.exports = {
data: function () {
msg: 'vue-loader'
components: {
'other-component': otherComponent
&同时,还可以在*.vue文件中使用其他预处理器,只需要安装对应的Webpack loader即可:&
&style lang="stylus"&
.my-component h2
&template lang="jade"&
div.my-component
h2 Hello from {{msg}}
&/template&
&script lang="babel"&
// 利用 Babel 编译 ES2015
export default {
msg: 'Hello from Babel!'
这样的组件格式,把一个组件的模板、样式、逻辑三要素整合在同一个文件中,即方便开发,也方便复用和维护。另外,Vue.js本身支持对组件的异步加载,配合Webpack的分块打包功能,可以极其轻松地实现组件的异步按需加载。
Vue.js还有几个值得一提的特性:
异步批量DOM更新:当大量数据变动时,所有受到影响的watcher会被推送到一个队列中,并且每个watcher只会推进队列一次。这个队列会在进程的下一个 &tick& 异步执行。这个机制可以避免同一个数据多次变动产生的多余DOM操作,也可以保证所有的DOM写操作在一起执行,避免DOM读写切换可能导致的layout。
动画系统:Vue.js提供了简单却强大的动画系统,当一个元素的可见性变化时,用户不仅可以很简单地定义对应的CSS Transition或Animation效果,还可以利用丰富的JavaScript钩子函数进行更底层的动画处理。
可扩展性:除了自定义指令、过滤器和组件,Vue.js还提供了灵活的mixin机制,让用户可以在多个组件中复用共同的特性。
与Web Components的异同
对Web Components有了解的读者看到这里可能会产生疑问:Vue.js的组件和Web Components的区别在哪里呢?这里简要地做一下分析。
Web Components是一套底层规范,本身并不带有数据绑定、动画系统等上层功能,因此更合适的比较对象可能是Polymer。Polymer在API和功能上和Vue.js比较相似,但它对Web Components的硬性依赖使得它在浏览器支持方面有一定的问题&&在不支持Web Components规范的浏览器中,需要加载庞大的polyfill,不仅在性能上会有影响,并且有些功能,比如ShadowDOM,polyfill并没有办法完美支持。同时,Web Components规范本身尚未定稿,一些具体设计上仍存在不小的分歧。相比之下,Vue.js在支持的浏览器中(IE9+)没有任何依赖。
除此之外,在支持Web Components的环境中,我们也可以很简单地利用Web Components底层API将一个Vue.js组件封装在一个真正的自定义元素中,从而实现Vue.js组件和其他框架的无缝整合。
在发布之初,Vue.js原本是着眼于轻量的嵌入式使用场景。在今天,Vue.js也依然适用于这样的场景。由于其轻量(22kb min+gzip)、高性能的特点,对于移动场景也有很好的契合度。更重要的是,设计完备的组件系统和配套的构建工具、插件,使得Vue.js在保留了其简洁API的同时,也已经完全有能力担当起复杂的大型应用的开发。
从诞生起到现在的一年半历程中,Vue.js经历了一次彻底的重构,多次API的设计改进,目前已经趋于稳定,测试覆盖率长期保持在100%,GitHub Bug数量长期保持在个位数,并在世界各地都已经有公司/项目将Vue.js应用到生产环境中。在2015年晚些时候,Vue.js将发布1.0版本,敬请期待。
【参考链接】
Vue.js官方网站:
Vue.js GitHub仓库:
Webpack官方网站:&
vue-loader单页组件示例:
阅读(...) 评论()和 React 比起来 Vue.js 好用吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
已注册用户请 &
- a JavaScript code quality tool
和 React 比起来 Vue.js 好用吗?
· 124 天前 · 7523 次点击
打算新开一个个人项目,在 React 和 Vue 之间摇摆。
我之前用过的技术包括 Backbone/Angular/React , Vue 只是大概扫下眼文档。
手工同步数据和页面真得好烦。
Angular 1.x
很久之前用过快忘记是什么体验了,只记得有点重,组件化开发很弱。 Angular 2 看了眼介绍不是我的菜且体积巨大。
用 React + Redux + ES 6 搞过一个项目,数据井井有条,架构比较清楚,配套也好(自动刷新不丢页面状态),只是有点繁琐。
Virtual DOM 的存在使得和真实 DOM 隔了一层有时很不方便,函数式的架构使得组件之间的通信也难处理。
Vue.js 一眼看上去是实用风格,这框架我在用 React 之前就注意到了,只是当时一看是个国人作品就无视了,想不到突然就火起来了。
它比 React+Redux 轻量,内建组件间通信机制,支持组件,配套也不错该有的都有,看上去挺不错的样子,只是是个人项目,不过作者很勤奋所以这可能不是问题。且看作者的一些文字发现作者视野开阔不太会把 Vue 带沟里去偏离前端大势(参考前段时间很火的真阿当厮 b 大战)。
62 回复 &| &直到
21:49:15 +08:00
& &124 天前
vuejs 吹 赞一个
& &124 天前
我是一直使用 AngularJS ,看了一下 React 和 Vue.js ,感觉 Vue.js 更容易上手,组件化没有 React 那么强,做个小应用还是不错的,最近做的一个微信应用,就是 Vue.js 。
& &124 天前
React 至少还能火三年,在前端界这已经很牛逼了!
& &124 天前
Vue.js 起步于小型应用,虽然目前已经有制作中大型应用的工具集( vue + webpack + vue-loader + vue-router + vuex? + es2015(babel)),但是仍然没有特别多的人这么用(跟 react 比起来)。
我之前写了一个 aria2 的前端,
,采用了官方推荐的 webpack 结构,并没有用到 router 和 vuex ,感觉还算是容易。可以参考一下。
& &124 天前 via Android
Vue 不算“国人作品”啊。
我厂的项目从 0.11.x 左右开始选的 Vue.js 。现在觉得选这个真是合适,容易实现需求,可扩展性高,对团队来说重要的还是比 React 上手得快。
不过我个人觉得 React 更好玩,但玩得少就不乱发现了。
& &124 天前 via Android
@ s/发现 /发言 /
& &124 天前
Vue.js 用起来是真的很舒服。我有一个项目,用了 Vue.js + Webpack + vue-loader + vue-router + Vuex + es2015(babel),你可以感受下:
& &124 天前
react 和 vue 目前的地位实不如 angular 和 ember 吧,说火起来的从何下此结论?
& &124 天前
@ react 地位肯定是最高的,太多商业公司(而且都是独角兽或者巨头)直接用在核心业务上的,不像其他几个很多用来做边角料玩玩的
& &124 天前
@ react 有 native , 这个是未来。现在火的不要不要的。
android 和 ios 两大阵型短时间是分不出高下了,为了更好的开发体验和效率,需要一层更高的抽象抹平平台差异。 就算没有 react native ,也会有其他的 xxx native 。微信内部也有类似的工具,名字忘了 大概是 weze ?
& &123 天前
1.如果实在不知道选什么
2.以前没有使用 mvvm 的经验
3.想要适用更多的场景
4.想要在团队内部推广开
满足其中一条及以上选择 vue.js
& &123 天前 via iPad
我觉的 React 的组件化做的比 vue 好, vue 的复用性没有 react 高,但是 vue 的语法对于常年写后端的同学比较友好,也没有什么服务端渲染的感念,和 angular 一样直接写就可以了。
& &123 天前
最近做微信项目,就是采用 vuejs+webpack+vue-loader+vue-router,容易上手,且容易和其它库融合
& &123 天前
蛮好用的,主要是比较轻量级, VeryNginx 中就是用的 vue.js
& &123 天前
没用过 Vue , 看了官网的介绍, 感觉很简洁~~
对比 ng ,轻量
更简单 性能更高
对比 react , &;
1: `相对于常见的误解—— Virtual DOM 让 React 比其它的都快, Vue.js 实际上性能比 React 好`
这条不清楚~~
2 :
```
在 API 方面, React (或 JSX )的一个问题是,渲染函数常常包含大量的逻辑,最终看着更像是程序片断(实际上就是)而不是界面的视觉呈现。对于部分开发者来说,他们可能觉得这是个优点,但对那些像我一样兼顾设计和开发的人来说,模板能让我们更好地在视觉上思考设计和 CSS 。 JSX 和 JavaScript 逻辑的混合干扰了我将代码映射到设计的思维过程
```
这段深感赞同, jsx 组建化能力更强,但也更抽象。
一段完整的 HTML 结构,要结合多个 class 来看, 不直观。
实现一段效果的时候,用 react ,我需要先用 html 的方式想想改变的 css 属性及交互的 html 结构,再用组建化的思路想想要变化的关键 data ,最后写 react jsx function 。
& &123 天前
文档详细,容易上手,周边工具完善,社区组件(暂时)较少, 正在发开基于 vue 的 UI 组件
& &123 天前
Vue.js 用着舒心 文档完善 组织合理 搞了个 Vue.js 版的
& &123 天前
&只是当时一看是个国人作品就无视了&
真是呵呵了
& &123 天前
之前用 Vue 写了个网页, webpack+hot-reload 什么的全都用上了,有一点比较不开心,就是组件的属性需要先在 `data()` 里面返回才能在 template 里面 binding ;现在的话会选择 React 吧,组件化做的好,更重要的是生态也挺好的,很多可以直接用的工具库,团队开发投入应该不会比 Vue 高很多,相反,还可能得益于复用获得更高的开发效率。
& &123 天前 via Android
高质量项目,不要因为是出自国人之手就有偏见
& &123 天前
写 Vue 还是很快乐的,个人项目可以使用呢, LZ 为什么不都尝试一下呢 XD
& &123 天前
VUE 上手容易,特别是搞后端的再也不用写那么多 js 了,有木有
& &123 天前
Backbone.js 修改数据自动更新功能其实很容易实现,只要监听 model 发生 change 的时候调用 render 就行(但是效率得不到保障)。框架本身不强制你使用哪种模板,可以自由选择(另外几个框架都不具备这点)。 Backbone 的 Model 是很优秀的,但是后来的框架普遍弱化了 Model 的概念,感觉很可惜。
Angular.js 开创了一个新的时代,使大家都意识到,原来很多事情都是可以自动完成的。但是作为先驱之一,他本身也有很多问题,最大的问题还是概念太多,很多奇葩的语法。学习成本相对较高,初学者容易写出一堆奇怪的东西,最好要有一个高手来规范代码。
Vue.js 继承了 Angular 的诸多优点,并且不断将其他框架的优点整合进自己的框架中。对 model/data 的控制力不足(原生 Object 就是 model),不过可以使用 vuex 解决。中文文档很完备(毕竟国人出品),学习成本低。
React.js 的单向数据流的思路很赞,使得代码更加可控(被 Vue.js 抄走啦)。不过 render 方法里面写渲染逻辑简直蛋疼到爆。 React 最强势的地方其实在于它的生态系统,有服务端渲染、 React Native 等,真正做到了 js everywhere 。
& &123 天前
&只是当时一看是个国人作品就无视了&
真是呵呵了
& &123 天前
之前用 Backbone ,现在想感受一下 vue.js
& &123 天前
比其他框架省心多了…
& &123 天前
@ Backbone 自动刷新,这效率。。。还是得老老实实手工处理。另外页面不能组件化也是硬伤。 model/collection 的设计我觉得很不好,离了 Backbone 后我不但觉得更自由了且没有觉得更不方便。基于事件的架构在复杂情况下也容易乱套(比如循环触发),而 redux 无需事件的单向执行过程就很清楚。
React 的 render/jsx 是天才的发明,我完全不觉得写在 js 里有任何不好,且组件化的设计使得一个 render 方法不会长,又和其它逻辑在一个类里更好理解和修改。
& &123 天前
没用过 react ,就不乱说话了。
作为 Vue 的忠实粉,大概 15 年初接触,切身体会,上手快,扩展性强,只需要对 mvvm 的理念以及相关的语法有所了解(主要是 director ),可以非常友好的接入到已开发的项目,从零开始构建一个项目更是酸爽,而且 router 、 vuex 这些官方插件的出现,对于用 vue 来构造一个 web app 或者是后台类的 web view ,都是非常方便的。
& &123 天前
由兄弟, vue 和 meteor 结合的怎么样了?
& &123 天前
Tooling + Vue 让开发简直快如疾风
当然也可以 + React 2333
& &123 天前
& &123 天前
楼主你都分析的这么透彻了还来问啥。
Vue 或者 React 随便一个都 OK 吧。。
& &123 天前
MVVM 看上去很灵活,开发效率很高。问题在于对开发者没啥约束,只要改数据就影响 UI ,听起来酷炫牛逼,等业务复杂起来,程序员就很可能不知道视图变化是受哪里的数据改动影响了,深入调试起来比较费劲。总之 MVVM 学习曲线前期容易,后期纠结。
React 提倡的单向数据流对开发者的编码习惯存在一定的约束力,数据流转和视图渲染都是树形的,对于非常复杂的业务来说,还是适合下猛药的,但是考虑到这味药确实很猛,破坏力可能会很大,建议谨慎考虑后选择。
另外对于 MVVM 是否适合简单轻量的业务?程序员从来不知道哪天业务会分分钟扩大规模,说不定公司突然安排几位码农进来和你一起开发,到时候人手就不好管理了,七手八脚的,项目代码立马变一坨屎。结论 maybe 还是不适合。
& &123 天前
前端新手,最近都在徘徊 Vue 和 React 之间。但是最后选择了 React ,因为感觉明显的组件化开发个人感觉更加清晰,当然我自己也觉得 Vue 很不错,因为轻量级,而且开发起来应该很爽~同样也很喜欢尤老师。哈哈~
& &123 天前
歪个楼,只有我一个人看懂了楼主的头像了吗。。
& &123 天前
以前不清楚,现在 vue 的状态是不必在 data 里面先返回的
& &123 天前 via iPhone
什么都没用过,只是想问下楼上们,为啥没人提 ember.js ?
& &123 天前
Vue 的作者本身就是一个跨艺术和科技界的奇葩
Angular 和 React 都是纯码农最爱
对于部分跨界认识而言, Vue 显然更入得了他们的法眼
& &123 天前
react 写的是 web app
vue 写的是 web page
(我用 WIN ,忽略大小写……:)
& &123 天前
现在正打算用 vue 写个东西
& &123 天前
没人提 elm-lang 么
& &123 天前 via iPhone
楼主是对的 Follow your heart
& &123 天前
一个个人项目
用啥都一样
& &123 天前
前端框架挑花了眼? 建议直接看 “状态管理” 的思路(组件间通信形式的实现办法)
无论用哪个,注意一定要有专门的 状态管理 的思路,比如 Redux 或 Vuex
搭配就是 React+Redux 或 Angular+Redux 或 Vue+Vuex
实际上,如果你觉得 Redux 是必需品,那么就很简单了:谁和它配合最好就选择谁
& &123 天前
既然是个人项目,推荐用这三个框架都实现一遍,你就明白了
& &123 天前
求问 vuejs 怎么学?感觉相关的书有点少( it-ebook 搜了下)
& &123 天前
react+redux ,开发起来特别爽。
& &123 天前
直接去官网看教程就好
& &123 天前 via Android
能好好看文档,写点项目再评价么。。。?
& &123 天前
上一个项目使用 vue 来做的单页,商业型的项目,使用 vue+vue-router+vue-resource+vue-loader+webpack+gulp+browsersync ,适合单人开发,多人开发时数据状态不好控制,可能使用 vuex 可以解决,没有理解到 flux 架构的设计理念,所以没有使用 vue 。没有使用过 react+redux ,只做过 TODO 的 Demo ,暂时无法评价,客户说要做一个论坛,准备使用 react+redux 深入学习一下 flux 类的架构
& &123 天前
这里可以的。
& &123 天前
公司全部项目都上 Vue.js 了,不知道会不会被坑死
& &123 天前
Vue 做过个微信项目,很顺手(原本做 ios )。
独立开发推荐用这个。
React + Redux 刚下载个源码,准备也学习一下。
个人理解是
感觉像做 Web Page
, React + Redux 更像 Web App
我两个都要学....
& &122 天前
去年秋季用 vue 写的 SPA ,被公司毙掉,很遗憾。
最后自己把 demo 放到 github 里啦~ [ )
& &122 天前
React 是必学的, 生态圈太繁荣, 另外 React 开发组的野心比较大, 各平台通吃.
Vue 适合短平快的项目, 大型项目暂时没有什么好的案例, 不过要看你怎么定义&大&.
Vue 最大的问题应该是维护人员, 注意, 是人员, 而不是组织, 很多围绕 Vue 的相关工具都是一个或几个人维护的, 如果哪天不高兴了... 不过作者也很清楚这个问题, 已经全职在做 Vue 的开发, 并且开始在招募一起开发维护的人员了.
& &122 天前
@ 做得可以,为什么会被毙掉?是技术选型问题?
& &122 天前
接受的理由有千千万万,拒绝的理由也有千千万万:
- 公司内部开发人员无法调配(人手紧缺)
- 加上项目本身不是很独立,以及项目时间的期限
- 技术总监不喜欢这么折腾,只希望项目安全上线
- ……
最后,自己都撕逼不过后台开发,他们也无法配合我。
最后的最后,只剩我一个人自嗨啦~
& &122 天前
@ 看下文档,然后官方有个 HackNews 的 demo , 这个基本把 vue 那一套都涉及到了。(我就是这样
& &122 天前
用 vue 做开发最好能吃透一部分源码,能搞懂一些内部的东西,不然遇到问题你不好解决,同时也很难 google 到,因为受众较小,资源少。另外用 vue 你就要做好自己写组件的准备,因为很多组件你根本找不到,即便能找到,质量也很难保证。
用 react 建议你跟着网上大众的做法走,因为实践较多,能碰到的问题基本已经被解决了,相对来说环境好太多,一般的问题 google 一下也是一大堆答案。
react 入门比 vue 难, vue 要做好比 react 难
& &122 天前
@ 以前玩过一个叫 native script 的, telerik 家的,收费的,好像是比 react native 还早
& &122 天前
为啥用 Polymer 的人这么少呢
& &122 天前
facebook 自己都用 react 来构建自己的网站……
& · & 1132 人在线 & 最高记录 1893 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.7.3 · 64ms · UTC 03:13 · PVG 11:13 · LAX 20:13 · JFK 23:13? Do have faith in what you're doing.

我要回帖

更多关于 vue webpack 的文章

 

随机推荐