㈠ 2.vue开发与传统开发有什么区别
你指的是Vue.js吧。
前端框架,这种框架的开发可以把前后台完全分离,前端人员只负责前端开发,服务端人员负责服务端开发。vue有自己的请求处理方式,现在前后端都是用rest风格,前后台只在接口上有交集,代码上完全独立。
还有就是Vue同angualrjs类似都是用我们所谓的MVC或者称为MVVC的方式,是的前端代码也区分出model,controller and view层,代码做到更好的控制和流畅
㈡ Vue正式上线项目都是编译之后的吗
对,都是编译后的,就像后端,也是编译后的
㈢ 解释和编译有什么区别
一、与计算机的交流方式不同
1、解释程序不产生目标代码,它逐条地取出源程序中的语句,边解释,边执行;解释器把源代码文件边解释成机器语言边交给CPU执行。
三、开发便捷性
1、解释程序可以随时修改,立刻生效,改完源代码后,直接运行看效果
2、编译程序每次修改源代码,都要重新编译,生成机器码文件
四、运行速度
1、解释程序运行效率低,所有的代码均需经过解释器边解释变执行,速度比编译型慢很多
2、编译程序执行速度快,因为你的程序代码已经翻译成了是计算机可以理解的机器语言。
㈣ Vue 模板编译 是用来代替JSP的吗
JSP可以和Vue一起使用,但vue本身更倾向于基于node的服务端渲染SSR
㈤ vue是什么 vue特点 vue和其他前端框架区别
vue是什么
Vue.js (读音 /vju?/,类似于 view) 是一套基于javascript的用于构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,它不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与单文件组件和 Vue 生态系统支持的库结合使用时,Vue 也完全能够为复杂的单页应用程序提供驱动。
vue特点
简洁、轻量、组件化、快速、数据驱动、模块友好
vue和其他前端框架区别
1.与AngularJS的区别
相同点:
都支持指令:内置指令和自定义指令。
都支持过滤器:内置过滤器和自定义过滤器。
都支持双向数据绑定。
都不支持低端浏览器。
不同点:
1>AngularJS的学习成本高,比如增加了Dependency Injection(依赖注入)特性,而Vue.js本身提供的API都比较简单、直观。
2>在性能上,AngularJS依赖对数据做脏检查,所以Watcher越多越慢。
Vue.js使用基于依赖追踪的观察并且使用异步队列更新。所有的数据都是独立触发的。
对于庞大的应用来说,这个优化差异还是比较明显的。
手机渲染速度:angular1 300ms * vue 200ms * react 100ms
2.与React的区别
相同点:
React采用特殊的JSX语法,Vue.js在组件开发中也推崇编写.vue特殊文件格式,对文件内容都有一些约定,两者都需要编译后使用。
中心思想相同:一切都是组件,组件实例之间可以嵌套。
都提供合理的钩子函数,可以让开发者定制化地去处理需求。
都不内置列数AJAX,Route等功能到核心包,而是以插件的方式加载。
在组件开发中都支持mixins的特性。
不同点:
React依赖Virtual DOM,而Vue.js使用的是DOM模板。React采用的Virtual DOM会对渲染出来的结果做脏检查。
Vue.js在模板中提供了指令,过滤器等,可以非常方便,快捷地操作DOM。
vue的应用场景
简单地说,就是需要对 DOM 进行很多自定义操作的项目小项目;理论上 Vue 配合类似Flux的架构也可以胜任超大规模多人协作的复杂项目。
㈥ vue原理是什么
原理是:vue在编译的时候通过在DOM元素以及css样式上加上唯一标记,实现样式私有化,不污染全局样式。
如:编译为;对应的样式。my-class编译为。my-class[data-v-56e7f951]。
state中保存着共享数据;
修改state中的状态只能提交mutations中的方法,且方法必须是同步的;
需要异步方法时,写在actions中,提交mutations,由mutations修改state状态。
(6)vue开发时编译有区别吗扩展阅读:
vue在web开发、网站制作中的优势
1、据绑定:vue会根据对应的元素,进行设置元素数据,通过输入框,以及get获取数据等多种方式进行数据的实时绑定,进行网页及应用的数据渲染 。
2、组件式开发:通过vue的模块封装,它可以将一个web开发中设计的各种模块进行拆分,变成单独的组件,然后通过数据绑定,调用对应模版组件,同时传入参数,即可完成对整个项目的开发。
3、简单小巧的核心,渐进式技术栈,足以应付任何规模的应用。
㈦ vue和angular 编译速度谁更快
框架之间的对比虽然是老生常谈,但也确实是绕不过去的话题,Vue本身的文档里也直接就有和其他框架的对比。同为开源的技术方案,比较本身其实没有任何问题,但在写Vue与其他框架的比较的时候,我们尽力做到两点:
1. 确保事实的准确性。有的就是有,没有就是没有,不确定的就不说,弄错了一定改。
2. 确保语气的中立性。别人的缺点指出但不嘲讽,优点大方承认。
之前 @汪志成 对Vue跟 Angular 的比较文案提出了意见,我们也对应地进行了修订。也欢迎社区继续进行监督和反馈 —— 比较的目的不是扭曲大家的认知,而是为了帮助大家做出自己的判断。
现在说回来大漠(后面都用大漠指代,注意跟 w3cplus@大漠老师不是一个人,对不住了哈哈)的这篇文章,很遗憾,以上两点都不及格。
先说事实。
CLI/工具链
首先两个框架 CLI 的定位不一致。vue-cli 不是一个打包工具,它只是一个 scaffold,也就是初始化工具。真正负责打包的是初始化之后项目内的 webpack 配置和 npm 脚本。从一开始vue-cli 就是这样的设计意图,项目真正的工具链在项目模板里面而不是 CLI 里面。
相比之下 @angular/cli 是一个全包式的命令行工具,一切都是通过 `ng` 来执行,但这不代表 `ng` 有的命令Vue就没有对应的功能 —— 比如在vue-cli 生成的项目里面:
npm run dev 对应 ng serve
npm run build 对应 ng build
npm run lint 对应 ng lint
npm run unit 对应 ng test
npm run e2e 对应 ng e2e
除了 i18n 之外,@angular/cli 有的Vue都有。‘很多日常开发必备的功能都需要开发者自己去下载配置第三方的Node模块’这句话是一个事实上的错误。看起来大漠连vue-cli 生成的项目都没跑过就急着写文章了呢。
其次,CLI 命令/参数多 =更优秀?并没有这样的道理,create-React-app 估计要哭晕在厕所了。如果我们仔细看看文中的截图,ng build 的多个参数,其实就是对应不同的底层 webpack 配置。说实话,我相信不仅仅是我,对于很多其他开发者而言,更宁可直接阅读 webpack 的文档来调整真正的 webpack 配置(并且可以 commit 进项目),而不是去额外学习一套由 Angular 封装的抽象,因为实际生产中需求千变万化,完全被 CLI 封装的配置不利于二次开发。
实事求是地说,@angular/cli 确实有一些值得学习的地方,比如 ng serve 对 SSL 的支持。我们也会在新版本的vue-cli 中持续吸收改进,但连vue-cli 能做什么都没弄清楚就拿玩具来打比方,只能贻笑大方了。
异步加载模块
我不知道为什么大漠又截了个不知哪里的旧中文文档的图,还没截全 —— 最新的关于异步加载的文档是下面这两个链接:
文档中关于异步组件的部分
路由文档关于路由懒加载的部分
Vue将一个组件(以及其所有依赖)改为异步加载,所需要的只是把:
改成
就这么简单。这里注意三点:
当这样分割的时候,该组件所依赖的其他组件或其他模块都会自动被分割进对应的 chunk 里,不存在大漠所暗示的‘手动改 500 个组件’这样的情况。况且两边代码分割的功能都是 webpack 提供的,我真不知道大漠是真的不懂还是故意误导。
所谓的路由级别的分割,只需要把这个组件作为路由组件就可以了,甚至连路由配置表都不用改。
更重要的是这样的异步组件并不一定只能用在路由层面 —— 任何你要用到一个组件的地方,都可以用异步组件无缝替换之,这种灵活性是 Angular 的 loadChildren 根本无法比拟的。比如一个动态的长表单页面,你甚至可以根据用户目前的输入来动态抓取表单接下来的部分(这个用例还是 wepback 的维护者 Sean Larkin 发现并用在生产中的)。
单元测试和集成测试
—— 事实错误。vue-cli 的 webpack 模板内置了开箱即用的 Karma + Jasmine 配置,自带了一个初始测试用例,npm run unit 即可。这又双一次证明大漠根本没有跑过vue-cli 生成的项目。
Vue的单测不仅仅支持 Karam + Jasmine - 事实上社区有广泛的单测反馈,对于 Jest, Ava 都有实践,我们正在开发中的官方的单测工具库vue-test-utils (由社区最流行的单测库 avoriaz 的开发者开发)会进一步简化常见的组件单测断言需求,并且还会有和所有主流 test runner 的整合指南。
—— again,事实错误。vue-cli 的 webpack 模板内置了开箱即用的 Nightwatch + Selenium E2E 测试配置,自带了一个初始测试用例,npm run e2e 即可。这又双叒一次证明大漠根本没有跑过vue-cli 生成的项目。
—— 集成测试这种东西,有什么技术门槛可言,还需要抄么?顺便说一句,vue-cli 初始化的项目可是早比 @angular/cli 正式发布前就已经自带集成测试了...
㈧ Vue.js 2.0 独立构建和运行时构建的区别
Vue.js 的运行过程实际上包含两步。
第一步,将字符串模板(template)编译为渲染函数(render),称之为编译过程;
第二步,运行时实际调用编译的渲染函数,称之为运行过程。
由于 Vue.js 1.0 的编译过程需要依赖浏览器的 DOM,所以无法(或者说没有意义)将编译器和运行时分开。因此在 Vue.js 1.0 分发包中,编译器和运行时是打包在一起,都在浏览器端执行。