一、服务端渲染技术NUXT

news2025/2/25 16:33:34

文章目录

  • 一、服务端渲染技术NUXT
      • 1.1 什么是服务端渲染
      • 1.2 什么是NUXT
    • 2、NUXT环境初始化
      • 2.1 下载压缩包
      • 2.2解压
      • 2.3修改package.json
      • 2.4修改nuxt.config.js
      • 2.5终端中进入项目目录安装依赖
      • 2.6 引入element-ui
      • 2.7 测试运行
      • 2.8 NUXT目录结构
    • 3、封装axios
      • 3.1 安装axios
      • 3.2 封装axios

一、服务端渲染技术NUXT

1.1 什么是服务端渲染

服务端渲染又称SSR (Server Side Render)是在服务端完成页面的内容,而不是在客户端通过AJAX获取数据。

服务器端渲染(SSR)的优势主要在于:更好的 SEO,由于搜索引擎爬虫抓取工具可以直接查看完全渲染的页面。

如果你的应用程序初始展示 loading 菊花图,然后通过 Ajax 获取内容,抓取工具并不会等待异步完成后再进行页面内容的抓取。也就是说,如果 SEO 对你的站点至关重要,而你的页面又是异步获取内容,则你可能需要服务器端渲染(SSR)解决此问题。

另外,使用服务器端渲染,我们可以获得更快的内容到达时间(time-to-content),无需等待所有的 JavaScript 都完成下载并执行,产生更好的用户体验,对于那些内容到达时间(time-to-content)与转化率直接相关的应用程序而言,服务器端渲染(SSR)至关重要。

1.2 什么是NUXT

Nuxt.js 是一个基于 Vue.js 的轻量级应用框架,可用来创建服务端渲染 (SSR) 应用,也可充当静态站点引擎生成静态站点应用,具有优雅的代码结构分层和热加载等特性。

官网网站:https://zh.nuxtjs.org/

2、NUXT环境初始化

2.1 下载压缩包

https://github.com/nuxt-community/starter-template/archive/master.zip

2.2解压

将template中的内容复制到 yygh-site

2.3修改package.json

name、description、author(必须修改这里,否则项目无法安装)

{
  "name": "yygh-site",
  "version": "1.0.0",
  "description": "尚医通",
  "author": "atguigu",
  "private": true,
  "scripts": {
    "dev": "nuxt",
    "build": "nuxt build",
    "start": "nuxt start",
    "generate": "nuxt generate",
    "lint": "eslint --ext .js,.vue --ignore-path .gitignore .",
    "precommit": "npm run lint"
  },
...
}

2.4修改nuxt.config.js

修改title: ‘{{ name }}’、content: ‘{{escape description }}’
这里的设置最后会显示在页面标题栏和meta数据中

module.exports = {
  /*
  ** Headers of the page
  */
  head: {
    title: 'yygh-site',
    meta: [
      { charset: 'utf-8' },
      { name: 'viewport', content: 'width=device-width, initial-scale=1' },
      { hid: 'description', name: 'description', content: '尚医通' }
    ],

2.5终端中进入项目目录安装依赖

npm install
在这里插入图片描述

2.6 引入element-ui

1、下载element-ui

npm install element-ui

2、在plugins文件夹下创建myPlugin.js文件
在这里插入图片描述
3、在myPlugin.js文件引入element-ui

import Vue from 'vue'
import ElementUI from 'element-ui' //element-ui的全部组件
import 'element-ui/lib/theme-chalk/index.css'//element-ui的css
Vue.use(ElementUI) //使用elementUI

4、在nuxt.config.js文件中使用myPlugin.js
在build下面添加内容:

plugins: [
    { src: '~/plugins/myPlugin.js', ssr: false }
  ]

2.7 测试运行

npm run dev

访问项目:http://localhost:3000/

2.8 NUXT目录结构

1、资源目录 assets

用于组织未编译的静态资源如 LESS、SASS 或 JavaScript。

2、组件目录 components

用于组织应用的 Vue.js 组件。Nuxt.js 不会扩展增强该目录下 Vue.js 组件,即这些组件不会像页面组件那样有 asyncData 方法的特性。

3、布局目录 layouts

用于组织应用的布局组件。

4、页面目录 pages

用于组织应用的路由及视图。Nuxt.js 框架读取该目录下所有的 .vue 文件并自动生成对应的路由配置。

5、插件目录 plugins

用于组织那些需要在 根vue.js应用 实例化之前需要运行的 Javascript 插件。

6、nuxt.config.js 文件

nuxt.config.js 文件用于组织Nuxt.js 应用的个性化配置,以便覆盖默认配置。

3、封装axios

3.1 安装axios

执行安装命令

npm install axios

3.2 封装axios

创建utils文件夹,utils下创建request.js

import axios from 'axios'
import { MessageBox, Message } from 'element-ui'
// 创建axios实例
const service = axios.create({
    baseURL: 'http://localhost',
    timeout: 15000 // 请求超时时间
})
// http request 拦截器
service.interceptors.request.use(
    config => {
    // token 先不处理,后续使用时在完善
    return config
},
  err => {
    return Promise.reject(err)
})
// http response 拦截器
service.interceptors.response.use(
    response => {
        if (response.data.code !== 200) {
            Message({
                message: response.data.message,
                type: 'error',
                duration: 5 * 1000
            })
            return Promise.reject(response.data)
        } else {
            return response.data
        }
    },
    error => {
        return Promise.reject(error.response)
})
export default service

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/561359.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

抖音矩阵系统开发分析(附代码部分)

简介 本文档旨在介绍抖音SEO源码开发相关内容,包括技术架构、关键模块、实现原理等方面的内容。 技术架构 抖音SEO源码采用的是分布式架构。整个系统可以分为以下几个模块: 数据抓取模块:负责从抖音服务器抓取数据,并进行去重和…

一个公司,一个机器视觉工程师

​一个公司,一个机器视觉工程师。 大家觉得这种公司,这种情况可能很难,很尴尬。 其实一个公司,一个机器视觉工程师,公司业务上是有需求的,多数选择有经验的机器视觉工程师,我遇到的视觉人机器视觉粉丝里面还是比较多的。这样子的公司大多数是选择有经验的机器视觉工程师…

【22-23春】AI作业10-经典卷积网络

1.LeNet & MNIST LeNet是一种神经网络的模型,用于图像识别和分类。他包含 3 个卷积层,2 个池化层,1 个全连接层。其中所有卷积层的所有卷积核都为 5x5,步长 strid1,池化方法都为全局 pooling,激活函数…

一元函数的凹性concavity以及二阶导数

凹性(concavity)与函数导数的变化率有关。一个函数f是上凹(即抛物线方向开口向上),其导数f是增函数,也意味着f的导数(即f)是正数;类似的一个函数f是下凹(即抛物线方向开口向下),其导…

chatgpt赋能Python-python_plot_标题

Python Plot: 如何更好地可视化你的数据 如果你需要更好地理解你的数据,Python Plot是一个非常好的工具。在这篇文章里,我将向你介绍如何使用Python Plot来可视化你的数据。我们将讨论如何使用Python Plot创建各种不同类型的图形,以及如何使…

chatgpt赋能Python-python_os_system_隐藏cmd窗口

Python os.system函数 在Python中,os.system函数是一个非常常用的系统调用函数。它的作用是执行一个命令行语句。不过,使用os.system函数有时候会出现一个问题,就是会弹出一个命令行窗口。而在一些特殊场合下,我们可能希望这个命…

chatgpt赋能Python-python_plot坐标轴

Python绘图库中坐标轴的设置 介绍 Python是一种简单易学,功能强大的编程语言。它被广泛用于数据科学和可视化领域。Python绘图库中的坐标轴设置可以让我们更好地展示数据,让我们更轻松地理解数据。本篇文章将介绍Python绘图库中坐标轴设置的方法和技巧…

chatgpt赋能Python-python_plt颜色

Python plt颜色详解:掌握常用颜色与自定义颜色的技巧 在数据可视化的过程中,使用合适的颜色方案可以让图表更加清晰、易于理解。Python的matplotlib库中的plt模块提供了丰富的颜色方案供我们使用。在本篇文章中,我们将深入探讨plt颜色的基础…

Microsoft Office 2016安装

哈喽,大家好。今天一起学习的是office2016的安装,有兴趣的小伙伴也可以来一起试试手。 一、测试演示参数 演示操作系统:Windows 10 支持Win7、11安装,不支持WinXP系统 系统类型:64位 演示版本:SW_DVD5_Of…

py实现经典排序之冒泡和快排

文章目录 0、十大经典排序算法0.1 关于时间复杂度0.2 关于稳定性 1、冒泡排序(Bubble Sort)1.1 冒泡排序简介1.2 冒泡排序思路1.3 冒泡排序代码实现 2、快排2.1 快排简介2.2 快排思路2.3 快排代码实现 0、十大经典排序算法 0.1 关于时间复杂度 平方阶 (O(n2)) 排序 各类简单排…

mysql表操作

文章目录 mysql 操作表创建表创建表实例查看表结构修改表结构删除表结构删除表结构 mysql 操作表 mysql表操作至少有以下俩种: DDL【data definition language】 数据定义语言,用来维护存储数据的结构 代表指令: create, drop, alter DML【data manipu…

2023 conda 安装、配置环境变量、换源

0.先卸载干净再安装 1.下载安装包 这个就不要用镜像下载,官网很快的 Free Download | Anacondahttps://www.anaconda.com/download 2.安装软件 首先 NEXT,接着 I Agree 来到这个页面 选择下面的All Users,再接着往下 选择安装路径 建议…

chatgpt赋能Python-python_print快捷键

Python print快捷键——简化开发效率 作为Python开发者,我们经常需要使用print语句来调试代码。然而,在大型项目中,如果频繁使用print并手动打印变量名称和内容,会浪费大量时间,影响开发效率。此时,使用Py…

Charging management IC---IP5356

0 Preface/foreword 1 规格 2 特性 2.1 电池电压分辨率 内部采用14-bit ADC,最大能识别电压为4.4V,所以分辨率为:4.4/2^14 0.26855 mv 2.2 充电电流 VIN/VBUS充电电流大小,分辨率为:0.671387mA 2.3 放电电流 2.3.1 IOUT1 2.3…

操作系统第三章——内存管理(上)

空有凌云千般志,负了红颜负流年 文章目录 3.1.1 内存的基础知识知识总览什么是内存?有何作用?几种常用的数量单位指令的工作原理绝对装入可重定位装入(静态重定位)动态重定位从写程序到程序运行链接的三种方式知识回顾…

Qt·事件处理机制

思维导读 一、事件简介 QT程序是事件驱动的, 程序的每个动作都是由内部某个事件所触发。QT事件的发生和处理成为程序运行的主线,存在于程序整个生命周期。 常见的QT事件类型如下: 键盘事件: 按键按下和松开 鼠标事件: 鼠标移动,鼠标按键的按下和松开 拖放事件: 用鼠…

GPC_UICC Configuration

GPC_UICC Configuration_v2.0.pdf 1 简介 本文档规定了在 ETSI 规范 TS 102 221 [TS 102 221]、TS 102 223 [TS 102 223] 中指定的 UICC 平台上实施 GlobalPlatform 规范的配置要求, TS 102 225 [TS 102 225] 和 TS 102 226 [TS 102 226]。 GlobalPlatform Common …

RK3399平台开发系列讲解(网络篇)DNS协议

🚀返回专栏总目录 文章目录 一、DNS 服务器二、DNS 解析流程三、负载均衡沉淀、分享、成长,让自己和他人都能有所收获!😄 📢DNS 是网络世界的地址簿,可以通过域名查地址,因为域名服务器是按照树状结构组织的,因而域名查找是使用递归的方法,并通过缓存的方式增强性能…

chatgpt赋能Python-python_numpy三角函数

介绍 Python是一种流行的编程语言,可以用于数据科学、机器学习和计算机视觉等领域。其中,numpy是Python中最流行的数值计算库,其主要特点之一是支持各种数学函数。在本文中,我们将关注numpy中的三角函数。 三角函数是数学中的一…

王道操作系统学习 P7-P14

目录 操作系统引导 虚拟机 进程的概念、组成、特征 进程的状态与转换 进程控制 操作系统引导 其实整个的引导过程就是, 从特定主存地址开始,取指令,执行ROM中的引导程序, 将磁盘的主引导记录读入内存,执行磁盘引导…