webpack和vue.js的关系
https://yq.aliyun.com/articles/619743
https://blog.csdn.net/qq_16559905/article/details/78551719
性能优化 - 查看 webpack 打包后所有的依赖关系(webpack 可视化工具)
webpack优化 : https://segmentfault.com/a/1190000008663228 http://www.cnblogs.com/libin-1/p/7027164.html
vue和webpack的一点点了解
https://blog.csdn.net/yangyixue123/article/details/78536129
vue的主要作用是当数据发生改变时使用虚拟DOM来更改某一DOM节点,避免将整个页面渲染。
1.关于vue,像他是一种组件化的轻量级框架,它是基于什么前端设计模式的。
vue基于组件化的开发方式,用于构建用户界面的渐进式的js框架,自底层向上逐层应用,
Vue的双向绑定(你可以说这是vue最大的好处)
双向数据绑定是在单向的基础上给可输入元素(input、textare)添加change(input)事件,来动态修改model和view
实现数据绑定的方法:
发布者-订阅者模式(backbone.js)
脏值检查(angular.js)
数据劫持(vue.js)
MVVM
M - model,指的是模型,也就是数据,V - view,指的是视图,也就是页面展现的部分。
通常,我们需要编写代码,将从服务器获取的数据进行“渲染”,展现到视图上。每当数据有变更时,我们会再次进行渲染,从而更新视图,使得视图与数据保持一致。
另一方面,页面也会通过用户的交互,产生状态、数据的变化,这个时候,我们则编写代码,将视图对数据的更新同步到数据,
以致于同步到后台服务器。也就是不同的前端 MV* 框架对于这种 Model 和 View 间的数据同步有不同的处理。
VueJS 则使用 ES5 提供的 Object.defineProperty() 方法,监控对数据的操作,从而可以自动触发数据同步。
并且,由于是在不同的数据上触发同步,可以精确的将变更发送给绑定的视图,而不是对所有的数据都执行一次检测。
vue,webpack,node间的关系
https://www.cnblogs.com/HenryWEI/p/10045877.html
针对在“思否”上看到的关于vue,node,webpack的一些问题及回复,做出如下的整理,给同样不是很清楚的朋友做了解,也供自己学习
原链接:https://segmentfault.com/q/1010000008451764/a-1020000008452409
1.什么是npm install?
①npm install是帮助安装 vue,或React到本地,npm install也可以安装vue,React的开发工具。当然你完全可以像jQuery一样自己找网站下载下来,在页面中引入。
②npm就好比是一个前端的插件商店,里面有各种开发者写的包,你需要的时候就从命令行安装就可以了,类似与linux的apt的概念
③node.js是服务端,浏览器端js有很多缺陷,比如不能操作本地文件呐。而服务端的js就可以,所以用node就能帮我们管理文件,处理I/O,然后经过牛逼的开发者一封装,一改造,一个grunt就出来了。
④vue的开发本身是不依赖node的,不过vue的脚手架工具vue-cli里面集成的webpack是基于node开发出来的。
因此只能说webpack是依赖node的。
⑤npm是社区、不光是node能用的库、很多前端的库也在里面发布、很多人会前端通常也就会一些node的东西
⑥grunt,gulp,webpack这些只是工具,帮助我们前端完成复杂的开发,提高效率。你完全可以不用,如果不会的话还强行用只会加慢你的开发效率,而违背了初衷。
2.想学vue还得先学会npm? 没有npm还不能用vue了吗?
没有npm也可以使用vue,vue只是一个前端框架。
3.npm又是随node安装的工具,还要学node?node不是服务器端的吗?关前端什么事?
node是js的服务执行环境,前端常常借助 node帮助前端实现工程化。
很多工具是基于node的,比如说你说的webpack,grunt。
4.webpack,grunt有什么用?
webpack,grunt是前端工程化的工具,可以帮助前端完成混淆压缩,校验等工作
5.服务端渲染又是什么?服务能解析js的不就只有node吗?
实战中没用过,请参考官方文档https://cn.vuejs.org/v2/guide/ssr.html
6.我就不能单纯的用 php+vue或者php+react开发?
可以单纯的利用 php+vue或者php+react开发
7.apache是什么?和node有什么关系?
apache是web服务器,用于起后台服务;npm run dev本质也是起一个服务,不过是利用node起的服务,起的是前端项目的服务;两者没有联系。
(你可以使用npm run命令来运行package.json文件中scripts里的任何条目)
8.有没有懂的解译下 vue,react之流框架,从开发,到用户看到这流程是怎么实现的。
问题太大,可以写本书。而且老实讲,一切都需要实战中才能有更深的体会
最后总结一下:
前端圈所谓得“乱”,一个是近些年前端框架层出不穷,工程化,解决方案越来越多,已经脱离了一般人认为的那个“好单纯好不做作”的前端。
就像后端开发有很多工具协作开发一样,前端也需要越来越多的工作完成前端面临巨大的工作量。
前端的行业发展已经不是那种后端在php,jsp中写一些html,前端来写一些css来完成工作的阶段。
老实讲,我现在80%的时间在写js。前端已经不是后端开发的最后一步甚至“附属品”,
而成为真正意义的“客户端”。复杂度也就慢慢和app等客户端越来越接近。
总的来说,你还是可以按照原先的开发方式来开发自己的应用,当然考虑引进工具一些先进的理念方法来协助开发。
node,webpack,vue这些概念不应该成为自己开发中的阻碍,而是在自己在面临一些问题时的利剑。这些概念的学习需要一天一天的来,毕竟一口吃不成个胖子 :)
node是一个环境配置文件,当配置node的时候npm也附带在node上。
webpack是一个包管理工具,他可以将vue.js进行打包或解析
传统项目只需要起后台服务即可(可顺利调用后台API),
现在的前端项目大多通过webpack管理,webpack又是基于node,node是一个运行在服务器端的js环境,
浏览器本身不支持的scss、es6/es7语法、typescript等都可在node这通过工具包npm去解决.因此前端项目起的node服务一般是为了解决这些问题。
另外前端知识:https://zhuanlan.zhihu.com/p/22782487