vue的完整版和运行时版的区别

const h = this.$createElement;
      this.$Modal.confirm({
        title: xxx,
        content: h('div', [h('p', {
          style: {
            'font-size': '14px',
            color: '#0A1F44',
            'line-height': '28px',
            'margin-bottom': '12px',
          },
        }, xxx), h('p', {
          style: {
            'font-size': '14px',
            color: 'red',
            'line-height': '24px',
            'margin-bottom': '32px',
          },
        }, 'xxx'))]),
        onConfirm(instance: any) {
          that.submitForm(that);
          instance.destroy();
        },
      });

用h函数来创建标签。h函数,第一个参数为标签名,来构造dom。不用template那种

转载:

完整版和运行时版

打开vue的官网,你会发现有vue有两种不同的构建版本,Vue官方对两种不同构建版本的解释是这样子的:

  • 完整版:同时包含编译器和运行时的版本(编译器:用来将模板字符串编译为js渲染函数的代码)

  • 运行时:用来创建Vue实例,渲染并处理虚拟DOM等的代码,基本上就是出去编译器的其它一切。

两种版本UMDCommonjs基于构建工具使用直接用于浏览器
完整版vue.jsvue.common.jsvue.esm.jsvue.esm.browser.js
运行时版vue.runtime.jsvue.runtime.common.jsvue.runtime.esm.js

两种版本的区别

比较列完整版运行时版评价
特点有compiler没有 compiler完整版体积较大,其中仅compiler就占整个文件40%大小
视图写在html中或者写在template选项中写在 render 函数里,用 h 来创建标签h 是尤雨溪写好传给 render 的
CDN引入vue.jsvue.runtime.js文件名不同,生成环境后缀为 .min.js
webpack 引入需要配置 alias默认使用此版本尤雨溪所配置
@vue/cli 引入需要额外配置默认使用此版本尤雨溪蒋豪群所配置

最佳实践:总是使用非完整版,然后配合vue-loader 和 vue 来进行使用。

思路

  • 保证用户体验,用户下载的 JS 文件体积更小,但只支持 h 函数。

  • 保证开发体验,开发者可直接在 vue 文件里面写 html 标签,而不写 h 函数

  • 脏活累活让 loader 做,vue-loader 把 vue 文件里面的 html 转为 h 函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值