想学习下vue.js,我理解的它是一个前端的框架,主要作用是对数据的处理,和juqery类似,所以不太理解为什么要在nodejs中npm install vue呢?在html文件中引入vue.js不是就可以了吗?
另外搭建一个web应用肯定需要路由功能,想用express框架来做路由和数据库交互,那么express中提供的jade木板引擎是不是就和vue.js冲突了。
总觉得不太理解vue.js是什么。。。尤其是需要在服务端安装这一点。。。希望大家能解答下
上面的的回答都不错。。。再多提两句吧,你理解的nodejs是什么?nodejs可以当作服务端语言没错,但是目前使用nodejs最多的场景是前端构建工具,比如webpack,gulp。。而vue的组件要编译势必要借助webpack,所以肯定要提供npm的安装方式啊
另外你提到jade,这点可能你概念又有点不太清楚了。jade和ejs之类的模板引擎属于后端模版引擎,在服务端渲染,把模版转化为html,输出到浏览器。
而vue属于前端库,也有模版渲染的功能,但是vue是在前端渲染的,把一些指令通过js渲染为html并替换dom。
所以vue和jade不冲突,但是没必要两个都用。
前面的回答也很明了,在这里多添几句。
Vue.js可以在html里引用,使用npm引入是方便包管理。
等到应用需要的库和框架多起来后,一个个从html里引入就不方便了。
所以用到打包工具比如webpack,可以直接require引入之后将不同模块打包成单个js文件。同时这些工具提供各种自动化处理,让前端开发更爽。
最后Vue.js是数据驱动,和JQuery思路不同,你几乎不需要自己进行复杂低效的dom操作,开发简介明了。从这一点上说,可以基本抛弃JQuery了。
我做过的一个项目,也是node.js+express,用了vue-router和vue-resource,前者替代express里的路由,后者替换$.ajax(),node+express只负责服务器和数据库交互,不处理路由,前后端基本是分离的。
jade模板确实是个问题,因为用的是组件开发,每一个组件是单独vue文件,所以大概有两种方法,一是不用模板引擎(直接通过res.sendFile()),二是只有主页用jade生成,这样和vue也不会冲突。其实这些写熟悉了都不是事儿。