iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue完整版和runtime版的区别详解
  • 497
分享到

Vue完整版和runtime版的区别详解

Vue完整版runtime版区别Vueruntime 2022-12-21 15:12:32 497人浏览 八月长安
摘要

目录创建Vue实例的三种方式从html得到视图用js构建视图使用vue-loader两者对比最佳实践SEO友好创建Vue实例的三种方式 从HTML得到视图 前提:使用完整版,CDN

创建Vue实例的三种方式

从HTML得到视图

前提:使用完整版,CDN引入或者修改配置

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
	// ...
  configurewebpack: {
    resolve: {
      alias: {
        vue$: 'vue/dist/vue.esm.js', // 用 WEBpack 1 时需用 'vue/dist/vue.common.js'
      },
    },
  },
})

index.html

<div id="app">
  {{n}} 
</div>

main.js

import Vue from 'vue' // 或者在index.html使用CDN引入
new Vue({
  // 挂载到app元素并以其DOM内部的HTML作为模板
  el: '#app',
  data: {
    n: 1,
  },
})
// 或者传一个字符串给template
new Vue({
  template: '<div>{{ n }}</div>'
})

用JS构建视图

需要用到render函数,参数是Vue提供的h函数,也即createElement

import Vue from 'vue'
new Vue({
  el: '#app',
  render(h) { // createElement
    return h('div', [this.n, h('button', { on: { click: this.add } }, '+1')])
  },
  data: {
    n: 0,
  },
  methods: {
    add() {
      this.n += 1
    },
  },
})

使用vue-loader

可以把*.vue文件翻译h构建方法,但这样做HTML就只有一个div#app,SEO不友好

新建一个单文件组件 Demo.vue

<template>
  <div class="red">
    {{ n }}
    <button @click="add">+1</button>
  </div>
</template>
<script>
  export default {
    data() {
      return {
        n: 0,
      }
    },
    methods: {
      add() {
        this.n += 1
      },
    },
  }
</script>
<style>
  .red {
    color: red;
  }
</style>
import Vue from 'vue'
import Demo from './Demo.vue'
console.log(Demo.render.toString())
new Vue({
  el: '#app',
  render(h) {
    return h(Demo)
  },
})

将render()函数打印出来,可以看到该函数将<template>内部代码翻译成h构建方法

完整版和运行时版的区别

完整版:运行时+编译器(compiler将模板字符串编译成javascript渲染函数的代码)

运行时版:没有编译器,体积小

如果把视图写在HTML或template选项会报错

两者对比

特点视图CDN引入webpack或@vue/cli引入
Vue完整版有编译器,体积大写在HTML或template选项里vue.js需额外配置
Vue运行时版无编译器写在render函数里,用参数h创建标签vue.runtime.js默认使用

最佳实践

使用非完整版,配合 vue-loader 和 vue 文件

思路

  • 保证用户体验,用户下载的JS文件体积更小,但只支持h函数
  • 保证开发体验,开发者可以直接在vue文件里写HTML标签,不写h函数
  • 脏活让loader做,vue-loader把vue文件里的HTML转为h函数

SEO友好

索引优化

搜索引擎就是不停地curl,搜索引擎根据curl结果猜测页面内容

p.s. 用户访问网站看到的界面是JS渲染之后的,右键查看源代码才是curl返回的结果

如果页面都是JS创建div,curl无法获取有效信息,因此最好在title, description, keyWord, h1, a写入内容(前面三个是meta标签)

总结一条原则:让curl能得到页面的主要内容和相关内容,SEO就能正常的工作

怎么提升SEO排名呢,访问量or氪金

以上就是Vue完整版和runtime版的区别详解的详细内容,更多关于Vue完整版runtime版区别的资料请关注编程网其它相关文章!

--结束END--

本文标题: Vue完整版和runtime版的区别详解

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

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

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

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

下载Word文档
猜你喜欢
  • Vue完整版和runtime版的区别详解
    目录创建Vue实例的三种方式从HTML得到视图用JS构建视图使用vue-loader两者对比最佳实践SEO友好创建Vue实例的三种方式 从HTML得到视图 前提:使用完整版,CDN...
    99+
    2022-12-21
    Vue完整版runtime版区别 Vue runtime
  • thinkphp完整版和核心版有哪些区别
    这篇文章将为大家详细讲解有关thinkphp完整版和核心版有哪些区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。thinkphp完整版和核心版的区别:1、核心版本去除了第三方扩展和驱动,仅保留了核心类库...
    99+
    2023-06-29
  • VBS中FileSystemObject对象详解(完整版)
    在VBS(Visual Basic Scripting)中,FileSystemObject对象是一个强大的工具,用于处理文件和文件...
    99+
    2023-08-14
    VBS
  • 详解win10预览版和正式版有什么区别
    win10系统是目前主流的操作系统,很多人都想要下载安装win10系统体验,不过却不知道该选win10预览版还是win10正式版系统,不知道win10预览版和正式版有什么区别。下面小编就给大家分析下win10预览版和正式版的区别。Win10...
    99+
    2023-07-13
  • gitlab社区版和企业版的区别
    随着开源软件的普及,GitLab已成为一款备受欢迎的版本控制工具。GitLab是一种精简而高效的工具,用于管理代码和项目。该软件由Git项目开发团队开发,可供开源社区和企业用户使用。GitLab社区版和GitLab企业版有何区别?在本篇文章...
    99+
    2023-10-22
  • windows10专业版和家庭版有哪些区别windows10专业版和家庭版区别详细介绍
    windows10专业版和家庭版有哪些区别是很多用户第一次应用win10的那时候的疑惑,由于版本的关联许多用户不清楚该挑选那一个版本,家庭版和专业版是许多用户在担心的版本,这两个版本的用户量都非常大,而且全是一般的用户,那麼为了更好地协助清...
    99+
    2023-07-10
  • win7旗舰版和专业版的区别的详细介绍
    win7旗舰版和专业版的区别是什么呢?很多人不知道win7旗舰版是什么意思,和专业版有什么不同,在安装win7时也不知道应该选择哪个系统。快来了解一下win7旗舰版和专业版之间的区别,小编为大家进行科普!1、首先我们看一下win7专业版的特...
    99+
    2023-07-19
  • win7旗舰版和专业版的区别
    win7是一款微软的操作系统,有许多个版本,人们在选择的时候往往不知道win7旗舰版和专业版有什么不同.那么win7旗舰版和专业版的区别是什么呢今天小编就来给大家比对一下win7旗舰版和专业版有哪些不同.win7旗舰版:旗舰版相比专业版功能...
    99+
    2023-07-10
  • win10家庭版和专业版的区别
      win10操作系统拥有7个不同的版本,其中win10家庭版和专业版被人们广泛的应用,很多用户都不知道如何区分win10家庭版和专业版,接下来小编把win10家庭版和专业版有什么不同的地方告诉大家。我们一起来看看吧。  win10家庭版和...
    99+
    2023-07-13
  • uniapp和vue的区别详解
    目录1.简单的页面示例2.uni-app支持vue组件和小程序原生组件混用3.常用标签,常用组件包括view、text、swiper、scroll-view等。4.生命周期4.1应用...
    99+
    2024-04-02
  • idea社区版和商业版的区别有哪些
    小编给大家分享一下idea社区版和商业版的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!区别:1、IDEA商业版的主要功能为智能代码助手、代码自动提示、...
    99+
    2023-06-14
  • mysql社区版和企业版的区别有哪些
    这篇文章主要讲解了“mysql社区版和企业版的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql社区版和企业版的区别有哪些”吧! ...
    99+
    2024-04-02
  • windows Server 2008各版本区别详解
    Windows Server 2008 是专为强化下一代网络、应用程序和 Web 服务的功能而设计,是有史以来最先进的 Windows Server 操作系统。拥有 Windows Server 2008,您即可在企业中...
    99+
    2023-06-06
    2008 区别 版本
  • SpringBoot2.7.6整合redis与低版本的区别
    Spring Boot 2.7.6整合redis与低版本的区别 最近在写程序的时候参考了之前写过的一篇文章spring boot整合redis中间件与热部署实现在参考方法是出现了很多...
    99+
    2023-02-02
    Spring Boot 2.7.6整合redis Spring Boot 低版本redis SpringBoot使用Redis
  • win7专业版和旗舰版有什么区别的详细介绍
    Windows 7是微软发布的一款操作系统,分为多个版本,其中包括Windows 7专业版和旗舰版。下面是它们之间的详细区别介绍:1...
    99+
    2023-08-31
    win7
  • win7纯净版和旗舰版的区别介绍
    没有第三方软件的Win7纯净版系统就像功能全面的Win7旗舰版系统一样,受到了许多PC用户的喜爱。那么,Win7纯净版系统好用吗win7纯净版和旗舰版的区别是什么呢,下面小编来跟大家详细的介绍一下吧。1、win7纯净版纯净版系统,是原版系统...
    99+
    2023-07-16
  • win10纯净版和原版的区别有哪些
    Win10纯净版和原版的区别主要有以下几点:1. 预装软件:Win10原版操作系统通常会预装一些微软的应用程序和工具,如Office...
    99+
    2023-10-21
    win10
  • Maven中的SnapShot版本和正式版本的区别
    Maven中建立的依赖管理方式基本已成为Java语言依赖管理的事实标准,Maven的替代者Gradle也基本沿用了Maven的依赖管理机制。在Maven依赖管理中,唯一标识一个依赖项...
    99+
    2024-04-02
  • 详解vue中$router和$route的区别
    我们在 vue 项目中一般都会用到路由,而 vue-router 是 vue.js 官方的路由管理器。 this.$route:当前激活的路由的信息对象。每个对象都是局部的,可以获取...
    99+
    2024-04-02
  • Python2和Python的区别那个版
    想学习Python的人都会有一个困惑,那就是Python目前有两个版本Python2和Python3,Python2与Python3有何区别,两个版本该学习哪个呢? python3 和 python2 是不兼容的,而且差异比较大,pyth...
    99+
    2023-01-31
    区别 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作