node ,vue,webpack这些到底有什么关系

我不是前端开发者

想学习一下vue,react 之类,但文档一开始就来一个 npm install,这是什么鬼?我只想学一个js库,为什么要安装东西,google一下说是包管理工具,我想学vue还得先学会npm? 没有npm还不能用vue了,npm又是随node安装的工具,难道的还要学node,node不是服务器端的吗?关前端什么事?看到一头雾水,想找个实例网站看看,但都没有vue.jsreact.js引入,骗子!!!!
接着我又看到webpack,grunt又有什么用?又看到服务端渲染,这又是什么,vue在服务器已经生成好html?服务能解析js的不就只有node吗??? 内心一万个黑人问号。
我就不能单纯的用 php+vue或者php+react开发?????前端圈真乱,有没有懂的同步跟我解译下 vue,react之流框架,从开发,到用户看到这流程是怎么实现的,最好用小学三年级语文水平解释下,多谢了


整理下:

  1. 什么是npm install?
  2. 想学vue还得先学会npm? 没有npm还不能用vue了吗?
  3. npm又是随node安装的工具,还要学node
  4. node不是服务器端的吗?关前端什么事?
  5. 我又看到webpack,grunt又有什么用?
  6. 服务端渲染又是什么?
  7. 服务能解析js的不就只有node吗?
  8. 我就不能单纯的用 php+vue或者php+react开发?
  9. 有没有懂的解译下 vue,react之流框架,从开发,到用户看到这流程是怎么实现的。

多谢了。

阅读 49.7k
10 个回答

我不是前端开发者,但是我想告诉你们一些人生的经验

貌似答题跑偏了,回到正题
话说你如果是学php的话,你不知道composer?npm 就是node中的composer
然后一个问号一个个回答
1, npm install是帮助安装 vue,或React到本地,npm install也可以安装vue,React的开发工具。当然你完全可以像jQuery一样自己找网站下载下来,在页面中引入。
2,没有npm可以使用vue,vue只是一个前端框架。
3,4,node是js的服务执行环境,前端常常借助 node帮助前端实现工程化。很多工具是基于node的,比如说你说的webpack,grunt。
5,webpack,grunt是前端工程化的工具,可以帮助前端完成混淆压缩,校验等工作。
6,7,实战中没用过,请参考官方文档http://cn.vuejs.org/v2/guide/...
8,可以单纯的利用 php+vue或者php+react开发。
9,最后一个问题太大,可以写本书。而且老实讲,一切都需要实战中才能有更深的体会。
最后总结一下:
前端圈所谓得“乱”,一个是近些年前端框架层出不穷,工程化,解决方案越来越多,已经脱离了一般人认为的那个“好单纯好不做作”的前端。就像后端开发有很多工具协作开发一样,前端也需要越来越多的工作完成前端面临巨大的工作量。 前端的行业发展已经不是那种后端在php,jsp中写一些html,前端来写一些css来完成工作的阶段。老实讲,我现在80%的时间在写js。前端已经不是后端开发的最后一步甚至“附属品”,而成为真正意义的“客户端”。复杂度也就慢慢和app等客户端越来越接近。
总的来说,你还是可以按照原先的开发方式来开发自己的应用,当然考虑引进工具一些先进的理念方法来协助开发。node,webpack,vue这些概念不应该成为自己开发中的阻碍,而是在自己在面临一些问题时的利剑。这些概念的学习需要一天一天的来,毕竟一口吃不成个胖子 :)

说得好像php就没有一整套工具链一样…………
php的后端不还是一样的,brew+php-fpm+mysql+…………一样少不了。

node只是前端的一整套工具链罢了。

有关前端新手如何学习Vue,它的作者写过一个简单的流程:
新手向:Vue 2.0 的建议学习顺序

其中第二节前端生态/工程化就是你感到困惑的地方。

vue也是可以直接在script标签中引入的,我有时就直接在html引入代替jquery。

你说的npm node是前端现在的一套生态圈。就像前面各位说的,现在的前端已经不是只要切切图就完事了。

npm就好比是一个前端的插件商店,里面有各种开发者写的包,你需要的时候就从命令行安装就可以了,类似与linux的apt的概念。

nodejs你也知道是服务端,浏览器端js有很多缺陷,比如不能操作本地文件呐。而服务端的js就可以,所以用node就能帮我们管理文件,处理I/O,然后经过牛逼的开发者一封装,一改造,一个grunt就出来了。

grunt,gulp,webpack这些只是工具,帮助我们前端完成复杂的开发,提高效率。你完全可以不用,如果不会的话还强行用只会加慢你的开发效率,而违背了初衷。

npm是社区、不光是node能用的库、很多前端的库也在里面发布、

很多人会前端通常也就会一些node的东西

PS:前端已经不是几年前那个只写静态的前端了、要掌握的知识面很广泛了

学习前端框架可以不用npm又没人逼你,,直接使用es5的写法来玩,网上找的大多都是基于node环境的es6实例。。。

前端已经不是世纪之初的前端了、已经是成为专业的开发了。还停留在jquery搞定一切早就过时了....

前端最近流行的工程化工具(我用的webpack)和主流框架(我目前主要用vue)确实比较多,各有优劣,题主说的乱,也可以说是前端的圈子更丰富了。

前面都写的差不多了,我就在凑个字数吧,如果你不是想走进前端深渊的话,node webpack之类的东西你都不用管,用什么迎什么,例如vue说,如果你不用文件组件,路由等功能,根本不用管这些东西

哈哈,就是一坨工具

你看看现在搞php的还得composer了

推荐问题
宣传栏