针对在“思否”上看到的关于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
原文地址:https://www.cnblogs.com/HenryWEI/p/10045877.html