针对在“思否”上看到的关于vue,node,webpack的一些问题及回复,作出以下的整理,给一样不是很清楚的朋友作了解,也供本身学习php
原连接:https://segmentfault.com/q/1010000008451764/a-1020000008452409css
1.什么是npm install?
①npm install是帮助安装 vue,或React到本地,npm install也能够安装vue,React的开发工具。固然你彻底能够像jQuery同样本身找网站下载下来,在页面中引入。
②npm就比如是一个前端的插件商店,里面有各类开发者写的包,你须要的时候就从命令行安装就能够了,相似与linux的apt的概念
③node.js是服务端,浏览器端js有不少缺陷,好比不能操做本地文件呐。而服务端的js就能够,因此用node就能帮咱们管理文件,处理I/O,而后通过牛逼的开发者一封装,一改造,一个grunt就出来了。html
④vue的开发自己是不依赖node的,不过vue的脚手架工具vue-cli里面集成的webpack是基于node开发出来的。
所以只能说webpack是依赖node的。前端
⑤npm是社区、不光是node能用的库、不少前端的库也在里面发布、不少人会前端一般也就会一些node的东西vue
⑥grunt,gulp,webpack这些只是工具,帮助咱们前端完成复杂的开发,提升效率。你彻底能够不用,若是不会的话还强行用只会加慢你的开发效率,而违背了初衷。node
2.想学vue还得先学会npm? 没有npm还不能用vue了吗?
没有npm也可使用vue,vue只是一个前端框架。react
3.npm又是随node安装的工具,还要学node?node不是服务器端的吗?关前端什么事?
node是js的服务执行环境,前端经常借助 node帮助前端实现工程化。不少工具是基于node的,好比说你说的webpack,grunt。linux
4.webpack,grunt有什么用?
webpack,grunt是前端工程化的工具,能够帮助前端完成混淆压缩,校验等工做webpack
5.服务端渲染又是什么?服务能解析js的不就只有node吗?
实战中没用过,请参考官方文档https://cn.vuejs.org/v2/guide/ssr.htmles6
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