vue的两个版本(完整版和非完整版)

vue的两个版本
完整版和非完整版
  1. 完整版
    vue的完整版是包含运行时的版本。完整版是包含compiler(编译器),视图是可以写在 HTML或者template中,运行的时候,直接创建vue实例,渲染,以及处理虚拟DOM中的代码,不用再编译。文件名是vue.js,还有一个运行时的版本vue.min.js。
    // 在HTML中引入完整版vue.js   
    
    <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.js"></script>
    <div id="app">
      {{n}}
    </div>
    
  // 在main.js 创建vue实例
  
    new Vue({
      el: '#app',
      template: `
        <div>{{n}}</div>
      `,
      data() {
        return {
          n: 0
        }
      }
    })

上面的运行结果是:页面会渲染出n的值0

2.非完整版
vue的非完整版是不包含编译器(compiler),不支持将视图写在HTML中 或者template中的,运行时它是通过webpack中的vue-loader,将.vue文件中的模板在构建的时候编译成JS。文件名是vue.runtime.js,还有一个是运行时的非完整版vue.runtime.min.js。

将上面代码中script中引入的vue换成https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.runtime.js,运行的结果是页面上不会渲染出n的值。

    // 1.在HTML中引入非完整版的vue
    
    <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.runtime.js"></script>
    <div id="app">
      <span>{{n}}</span>
      <button @click="add">12312</button>
    </div>

    // 2.创建vue实例,并编译
    
    new Vue({
      el: '#app',
      render(h) {
        // h函数是createElement的缩写
        // return h('div', this.n)
        return h('div', [this.n, h('button', { on: { 'click': this.add } }, '增加')])
      },
      data() {
        return {
          n: 0
        }
      },
      methods: {
        add() {
          this.n += 1
        }
      }
    })

运行的结果是,点击页面按钮会执行+1的操作。
3.两者的比较

完整版非完整版
特点有compiler无compiler(体积比完整版小40%)
视图可以写在html中或者template先将写在html中的DOM编译,通过render函数再创建标签,并渲染出来
cdn引入vue.js(vue.min.js)vue.runtime.js(vue.runtime.min.js)
webpack引入需要配置别名(alias)默认非完整版
@vue/cli引入需要额外配置默认非完整版

4.总结
平时开发所使用的的就是非完整版

  • 保证用户体验,下载的js文件体积小
  • 保证开发体验,开发者可以直接在vue文件中写HTML,而不要用写render函数
  • 所有的编译工作,会通过webpack中的vue-loader来编译执行,将写的HTML转换成h函数,从而提高用户体验,节约文件大小。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值