Vue的两个版本

1 Vue的两个版本

分别是完整版(vue.js)和只包含运行时版本(vue.runtime.js)

Vue完整版

  • 完整版同时包含编译器(compiler)和运行时(runtime),编译器(compiler)占总体积的40%
  • 视图写在HTML或者 template 选项中。
  • 使用时,需要引入 vue.min.js
  • webpack 引入时,需要配置alias,同时在 @vue/cli 引入时,需要额外配置

Vue非完整版(runtime)

  • 运行时版本中没有编译器(compiler)
  • 视图写在 render 函数里,用 h 来创建标签,h 可以替换成任意字母,但一般默认使用h
  • 使用时,需要引入 vue.runtime.min.js
  • webpack 和 @vue/cli 均默认使用非完整版
版本区别
Vue完整版 runtime版
特点 有编译器(compiler) 没有编译器(compiler)
视图 写在HTML或者 template 选项 写在 render 函数里,用 h 来创建标签
cdn引入 vue.min.js vue.runtime.min.js
webpack引入 需要配置alias 默认使用此版本
@vue/cli引入 需要额外配置 默认使用此版本

最佳实践

总是使用非完整版,搭配 vue-loader 引入compiler

  • 保证用户体验,用户下载的JS文件更小,但只支持h函数
  • 保证开发体验,在通过vue-loader 引入编译器(compiler)后,开发者可以直接在vue文件里写HTML标签,而不写h函数,由 vue-loader 负责将 vue 文件里的HTML转换成h函数

2 template和render的用法

// 完整版,需要编译器
new Vue({
  template: '<div>{{ hi }}</div>'
})

// 不完整版,不需要编译器
new Vue({
  render (h) {
    return h('div', this.hi)
  }
})
  • 完整版与非完整版中 template 的不同
    完整版
// index.html 文件
  <template>
      <div id="app">      
          {{n}}
          <button @click="add">+1</button>   
     </div> 
  </template>

非完整版

// main.js 文件
new Vue({
  el: '#app',
  template: `
        <div id="app">      
          {{n}}
          <button @click="add">+1</button>   
        </div> 
    `
  data: {
    n: 0
  }
})

使用 render 函数

// runtime 版在js中构建视图
  render(h){ 
       return h('div', [this.n,h('{on:{click:this.add}’,'+1'])
   }
// 创建demo.vue文件,构建视图
    import demo from "./demo.vue"
     new Vue({
       el: "#app",
       render(h) {
         return h(demo)
       }
     })

3 SEO友好

SEO 不友好

SEO即搜索引擎优化,运行过程就是搜索引擎不停的 curl,并根据 crul 的结果(html页面涉及内容)猜测页面内容。因此,如果页面都是用JS创建 div,用 crul 命令就无法得到页面主要内容,返回结果中无法得知页面涉及内容,称作SEO不友好。

解决方法

给 crul 一些内容即可,把 title、description、keyword、h1、a 等写好,让 crul 能得到页面的信息,SEO 就能正常工作。

4 codesandbox.io的使用

JavaScript线上沙箱环境,通俗而言就是前端代码的在线编辑器,支持各种不同的框架。
开发地址:https://codesandbox.io/

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容