zoukankan      html  css  js  c++  java
  • Runtime-compiler和Runtime-only的区别:

    vue-cli/runtime-compiler和runtime-only的区别:
    runtime-compiler:
    template--ast(抽象语法树)->render函数->virtual dom->UI
    runtime-only: 性能更高,代码量更少
    render->vdom->UI
    1、区别一
      通过这两种方法创建的脚手架,区别在于main.js(在src文件夹中)
        在Vue实例中,runtime-compiler创建的项目中参数是:
        components和template
          runtime-only创建的项目中参数为:
        render函数
    2、组件的渲染过程
      组件是如何被渲染到页面中的?
        template ---> ast ---> render ---> vDom ---> 真实的Dom ---> 页面
      ast:抽象语法树
      vDom:虚拟DOM 
    3、runtime-only
      ·我们在使用runtime-only的时候,需要借助webpack的loader工具,将.vue文件编译为javascript,因为是在编译阶段做的,所以他只包含运行时的vue.js代码,所以代码体积会更轻量
      ·再将.vue 文件编译为javascript文件的过程当中会将组件的template模板编译为render函数,所以我们得到的是render函数的版本
      运行的时候是不带编译的,编译是在离线的时候做的
      ·template会通过vue-template-compiler转换为render函数
    4、runtime-compiler
      ·在vue中,最终渲染都是通过render函数,如果写template属性,则会编译为render函数,那么这个编译过程会在运行时发生,所以需要带有编译器的版本
      ·编译过程会对性能有一定的损耗
    结论:
      runtime-only:将template在打包的时候,就已经编译为render函数
      runtime-compiler:在运行的时候才去编译template
    结果:
      发布生产的时候,runtime-only构建的项目代码体积更小,运行速度更快
      推荐使用runtime-only函数
    如果在之后的开发中,依然使用template,就需要选择runtime-compiler
    如果开发使用的是.vue文件开发,那么可以选择runtime-only
  • 相关阅读:
    如何动态改变ALV状态栏(Status)中的按钮文本和图标(Icon)
    redux计算器
    原生js轮播图
    原生js实现tab切换
    lynx---CentOS终端访问IP
    centos 下安装jdk、tomcat 以及tomcat无法从外部访问的解决办法
    CentOS-7.0.中安装与配置Tomcat-7的方法
    CSS实现自适应不同大小屏幕的背景大图
    在ssm框架中前后台数据交互均使用json格式
    Mybatis动态查询语句
  • 原文地址:https://www.cnblogs.com/bjyx/p/13525039.html
Copyright © 2011-2022 走看看