iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Vue中如何引入render函数
  • 856
分享到

Vue中如何引入render函数

2023-06-26 04:06:56 856人浏览 八月长安
摘要

这篇文章主要讲解了“Vue中如何引入render函数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue中如何引入render函数”吧!前言使用Vue脚手架创建项目的入口文件main.js中

这篇文章主要讲解了“Vue中如何引入render函数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue中如何引入render函数”吧!

前言

使用Vue脚手架创建项目的入口文件main.js中,默认代码如下:

import Vue from 'vue'import App from './App.vue'Vue.config.productionTip = falsenew Vue({  render: h => h(App),}).$mount('#app')

可以看到,代码中通过import引入了App组件,但是却并没有通过components注册,还使用了一个render函数,而没有利用template属性

//上述代码的等价写法import Vue from 'vue/dist/vue'//注意此处差异import App from './App.vue'Vue.config.productionTip = falsenew Vue({    template: `<App/>`,    components: { App },}).$mount('#app')

想要知道上述代码为什么等价,就需要从Vue的不同版本说起

背景

Vue有两大部分组成,一个是核心功能,包括生命周期、事件处理等内容,另一部分是模板解析器,用来对Vue模板进行解析。

vue.js中包括了这两部分的全部内容(即完整版的vue),但是这样会有一个问题,当项目开发完毕进行打包时,打包后的文件会引入完整版vue的全部代码,但是实际上打包后的输出文件中已经不需要Vue模板解析器部分的代码了(模板已经被解析好了,浏览器可以直接运行),引入完整版Vue只会增大打包后文件的体积。

为了解决这个问题,Vue团队提供了不同版本的Vue,vue.js为完整版的Vue,其他版本都是在vue.js完整版上进行的精简,比如vue.runtime.*为Vue的运行版,不包括Vue模板解析器部分代码。

Vue中如何引入render函数

既然Vue有不同的版本,那么我们在import引入Vue的时候,到底用的是哪个版本呢?

查看Vue包中的package.JSON文件可以发现,es6模块化的入口文件是vue.runtime.esm.js,即Vue默认帮我们引入的是vue的运行版,其中不包括模板解析器部分代码。

Vue中如何引入render函数

运行版Vue想要进行模板解析,就需要使用render函数。Vue官方案例中,入口文件main.js的内容如下,其中使用了render函数进行模板解析。

import Vue from 'vue'import App from './App.vue'Vue.config.productionTip = falsenew Vue({  render: h => h(App),}).$mount('#app')

如果我们使用template属性进行模板解析,会报错You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build.

//通过 import Vue from 'vue/dist/vue'引入完整版的vue,则代码不会报错import Vue from 'vue'//默认引入运行版的vue,使用template编写模板会报错Vue.config.productionTip = falsenew Vue({    template: `<h2>hello</h2>`,}).$mount('#app')

注意:上边说的模板解析指的是解析vm配置对象的template属性中定义的模板

组件中的模板(.vue中template标签中的内容),vue使用了vue-template-compiler帮助我们解析,而且可以看到他只在开发依赖中,在生产依赖中是没有的,这也很好解释,因为打包后的文件浏览器已经可以直接运行了,不存在vue模板语法,也就不需要vue-template-compiler了。

"dependencies": {    "core-js": "^3.6.5",    "vue": "^2.6.11"},"devDependencies": {    "@vue/cli-plugin-babel": "~4.5.0",    "@vue/cli-plugin-eslint": "~4.5.0",    "@vue/cli-service": "~4.5.0",    "babel-eslint": "^10.1.0",    "eslint": "^6.7.2",    "eslint-plugin-vue": "^6.2.2",    "vue-template-compiler": "^2.6.11"},

原理

在vm的配置对象中使用template属性,可以通过html语法,创建vue模板页面,我们编写的Vue模板在底层先会被转换成虚拟Dom,才会渲染到页面中(真实Dom)。

在vm的配置对象中使用 render函数 ,可以直接用js构建虚拟DOM,免去了转译(Vue模板转译成虚拟Dom)的过程。

感谢各位的阅读,以上就是“Vue中如何引入render函数”的内容了,经过本文的学习后,相信大家对Vue中如何引入render函数这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Vue中如何引入render函数

本文链接: https://www.lsjlt.com/news/306752.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue中如何引入render函数
    这篇文章主要讲解了“Vue中如何引入render函数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue中如何引入render函数”吧!前言使用Vue脚手架创建项目的入口文件main.js中...
    99+
    2023-06-26
  • Vue中为什么要引入render函数的实现
    目录前言背景原理后记前言 使用Vue脚手架创建项目的入口文件main.js中,默认代码如下: import Vue from 'vue' import App from './App...
    99+
    2024-04-02
  • vue如何使用render函数
    这篇文章主要介绍了vue如何使用render函数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。render 函数在某些场景下你可能需要ren...
    99+
    2024-04-02
  • vue 的 Render 函数
    目录一、节点、树以及虚拟 DOM二、虚拟 DOM2.1 深入数据对象2.2 约束三、在Render函数中的模板功能3.1 v-if 和 v-for3.2 v-model3.3 事件 ...
    99+
    2024-04-02
  • vue中Render函数有什么用
    vue中Render函数有什么用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。首先是v-if 的转化使用全局组件的v 值决定组件渲染的状态...
    99+
    2024-04-02
  • vue中Render函数怎么使用
    这篇文章主要介绍“vue中Render函数怎么使用”,在日常操作中,相信很多人在vue中Render函数怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue中Render函数怎么使用”的疑惑有所帮助!...
    99+
    2023-07-04
  • 实例详解vue render函数中如何修改props
    Vue的render函数是一个很强大的工具,可以帮助我们更加自由地创建组件并渲染页面,并且在某些场景下render函数也可以帮我们提升一些性能。在一些情况下,我们希望在render函数中修改props,那么该怎么做呢?下面来一起看看。在我们...
    99+
    2023-05-14
  • 简单谈一谈Vue中render函数
    目录那如何证明?如何解决?那我们为什么不采用报错提示中的第二种方式引入完整的vue呢?补充:vue2 小例子总结: 首先我们引入的vue并不是一个完整的,而是残缺版的vue(没有模板...
    99+
    2024-04-02
  • vue中的render函数、h()函数、函数式组件详解
    目录一、什么是render二、vue中的render三、函数式组件补充 h函数使用场景一、什么是render 官网:用于编程式地创建组件虚拟 DOM 树的函数。 在我们使用webpa...
    99+
    2023-02-09
    vue render函数 vue  h()函数 vue函数式组件
  • vue中iview列表table render函数如何设置DOM属性值
    小编给大家分享一下vue中iview列表table render函数如何设置DOM属性值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一...
    99+
    2024-04-02
  • vue中如何引入less
    在vue中引入less的方法:1.新建vue.js项目;2.使用cnpm安装less依赖包;3.配置webpack.config.js文件;4.使用@import方法引入less;具体步骤如下:首先,在vue-cli中创建一个vue.js项...
    99+
    2024-04-02
  • vue中如何引入jtopo
    在vue中引入jtopo的方法:1.浏览器下载jtopo源文件;2.新建vue.js项目;3.将源文件剪切到项目根目录;4.使用script标签引入jtopo;具体步骤如下:首先,在浏览器中进入jtopo官网,并下载jtopo源文件;jto...
    99+
    2024-04-02
  • vue中如何引入koa
    在vue中引入koa的方法:1.新建vue.js项目;2.使用npm安装koa框架和中间件;3.使用require方法引入koa;具体步骤如下:首先,在vue-cli中创建一个vue.js项目;vue create project-name...
    99+
    2024-04-02
  • vue中如何引入layui
    在vue中引入layui的方法:1.官网下载layui文件;2.新建vue.js项目;3.使用script标签引入layui;具体步骤如下:首先,在浏览器中进入layui官网,并下载layui文件;layui文件下载好后,在vue-cli中...
    99+
    2024-04-02
  • vue中如何引入moment
    在vue中引入moment的方法:1.新建vue.js项目;2.使用npm安装moment依赖包;3.使用import方法引入moment;具体步骤如下:首先,在vue-cli中创建一个vue.js项目;vue create project...
    99+
    2024-04-02
  • vue中如何引入stylus
    这篇文章主要介绍了vue中如何引入stylus,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。安装stylus好了,建立好项目后我们来安装st...
    99+
    2024-04-02
  • python如何引入数学函数
    在python中引入数学函数的方法python中使用数学函数时需要引入math数学模块math.radians()函数math.sqrt()函数可以将角度转弧度用法:>>>import math>>>math.radians(57.2957...
    99+
    2024-04-02
  • python如何引入exp函数
    在python中引入exp函数的方法在python使用exp函数时,需要先导入math模块exp():exp()函数的功能是求e x e^{x}e x 的值。exp()函数语法:import mathmath.exp( x )exp()函数...
    99+
    2024-04-02
  • 在vue中如何引入echart
    在vue中引入echart的方法:1.新建vue.js项目;2.使用npm导入echart依赖包;3.使用import或require方法引入echart;具体步骤如下:首先,在vue-cli中创建一个vue.js项目;vue create...
    99+
    2024-04-02
  • vue如何引入qs
    在vue中引入qs的方法:1.新建vue.js项目;2.使用npm安装qs依赖包;3.使用import方法引入qs;具体步骤如下:首先,在vue-cli中创建一个vue.js项目;vue create project-namevue.js项...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作