返回顶部
首页 > 资讯 > 前端开发 > VUE >Vue服务端渲染框架Nuxt的步骤
  • 793
分享到

Vue服务端渲染框架Nuxt的步骤

2024-04-02 19:04:59 793人浏览 独家记忆
摘要

本篇内容介绍了“Vue服务端渲染框架Nuxt的步骤”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Vue因其

本篇内容介绍了“Vue服务端渲染框架Nuxt的步骤”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Vue因其简单易懂的api、高效的数据绑定和灵活的组件系统,受到很多前端开发人员的青睐。国内很多公司都在使用vue进行项目开发,我们正在使用的简书,便是基于Vue来构建的。

我们知道,SPA前端渲染存在两大痛点:(1)SEO。搜索引爬虫难以抓取客户端渲染的页面meta信息和其他SEO相关信息,使网站无法在搜索引擎中被用户搜索到。(2)用户体验。大型WEBApp打包之后的js会很庞大,于是就有了按模块加载,像require.js一样,异步请求。webpack盛行,就变成了代码分割。即便如此,受制于用户设备,页面初次渲染还是有可能很慢,白屏等待时间太长,对日益挑剔的用户群体来说,无法接受。

因此,对于那些展示宣传型页面,如官网,必须进行服务端渲染(SSR)。

Vue官方SSR文档的配置太过繁琐,需要对node和webpack有相当不错的使用经验,对于一个前端小白而言,官方推荐NUXT。

NUXT是一款基于vue的服务端渲染框架,跟React的NEXT异曲同工。

最近公司在重构项目,为了有利于SEO,需要使用到服务端渲染,在查阅了一番资料后选择了Nuxt.js,Nuxt.js 是一个基于 vue.js 的通用应用框架,详情可以看官网,这里主要记录下在使用过程中遇到的问题及解决方案。

技术栈:Vue + Vue-Router + Vuex + Element-Ui + Nuxt + AxiOS

项目构建

Nuxt.js 官方提供了脚手架「 确保安装了npx(npx在NPM版本5.2.0默认安装了)」

npx create-nuxt-app <项目名>  按照提示选择适合自己项目的配置即可

然后 npm run dev。

遇到的问题

一、router自定义

发现现在很多的框架都有一套自己的路由生成规则(基于vue-router)然后在对应的目录下创建目录,即会自己生成对应的路由,如果对url的路径没有要求的这样也是可以的,如果想要自定义路由的话,就需要添加些配置。具体如下:

  extendRoutes (routes, resolve) {
   routes.push({
    name: 'father',   
    path: '/father',  
    component: resolve(__dirname, 'pages/father/index.vue'), 
    children: [{  
     name: 'son',
     path: '/son',
     component: resolve(__dirname, 'pages/son/index.vue')
    },
    {
     name: 'daughter',
     path: '/daughter',
     component: resolve(__dirname, 'pages/daughter/index.vue')
    }]
   })
  }

对应的参考官方Nuxt.js自定义路由

自定义请求头(基于axios请求的base_url修改)

需求描述:公司的有正式环境和特使环境对应不同的服务器,所以需要在请求的时候添加对应的请求头,具体配置可以参考如下代码:

package.JSON配置:

 "scripts": {
  "dev": "cross-env NODE_ENV=development PORT=3333 nuxt",
  
  "build": "cross-env NODE_ENV=online nuxt build",
  
  "start": "HOST=0.0.0.0 PORT=3333 nuxt start",
  
  "generate": "nuxt generate",
  "lint": "eslint --ext .js,.vue --ignore-path .gitignore .",
  "precommit": "npm run lint"
 },

axios.js配置:

  
if (process.env.NODE_ENV === 'test') {
 axios.defaults.baseURL = 'Http://test'
} else if(process.env.NODE_ENV === 'online') {
 axios.defaults.baseURL = 'http://online'
} else {
  axios.defaults.baseURL = 'http://127.0.0.1'
}

这里使用的NODE_ENV由于在nuxt.js默认就存在,所以不需要定义这个变量,如果需要声明一个不存在的环境变量,需要在nuxt.config.js里面添加如下配置


env: {
  PATH_TYPE: process.env.PATH_TYPE
}

一定要看备注:要运行上面的示例,你需要运行npm install --save-dev cross-env 安装 cross-env。如果你在非windows环境下开发,你可以不用安装cross-env,这时需要把 start 脚本中的cross-env去掉。

官方文档:1.主机和端口配置 2.dev属性修改

打包webpack配置

nuxt.js框架默认使用过了一套配置,但是看了编译出来的源码后发现CSS文件全部在源码里,感觉不是很利于收缩引擎的SEO,所以自定义了打包配置,代码如下:

  optimization: {
   runtimeChunk: {
    name: 'manifest'
   },
   splitChunks: {
    chunks: 'all',
    cacheGroups: {
     libs: {
      name: 'chunk-libs',
      chunks: 'initial',
      priority: -10,
      reuseExistinGChunk: false,
      test: /node_modules\/(.*)\.js/
     },
     styles: {
      name: 'chunk-styles',
      test: /\.(scss|css)$/,
      chunks: 'all',
      minChunks: 1,
      reuseExistingChunk: true,
      enforce: true
     }
    }
   }
  },
  extractCSS: true, 

参考文档: 1.Nuxt.js将CSS提取到一个单独的CSS文件 2.构建配置

“Vue服务端渲染框架Nuxt的步骤”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Vue服务端渲染框架Nuxt的步骤

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

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

猜你喜欢
  • Vue服务端渲染框架Nuxt的步骤
    本篇内容介绍了“Vue服务端渲染框架Nuxt的步骤”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Vue因其...
    99+
    2024-04-02
  • Vue服务器渲染Nuxt的示例分析
    这篇文章主要介绍Vue服务器渲染Nuxt的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是SSR?SSR,即服务器渲染,就是在服务器端将对Vue页面进行渲染生成html文...
    99+
    2024-04-02
  • Nuxt中Vue.js服务端渲染的示例分析
    这篇文章主要为大家展示了“Nuxt中Vue.js服务端渲染的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Nuxt中Vue.js服务端渲染的示例分析”这...
    99+
    2024-04-02
  • vue服务端渲染和客户端渲染的区别有哪些
    本文小编为大家详细介绍“vue服务端渲染和客户端渲染的区别有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue服务端渲染和客户端渲染的区别有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,...
    99+
    2024-04-02
  • Vue服务端如何渲染SSR
    这篇文章主要介绍“Vue服务端如何渲染SSR”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue服务端如何渲染SSR”文章能帮助大家解决问题。手写Vue服务端渲染概念:放在浏览器进行就是浏览器渲染,...
    99+
    2023-07-02
  • Vue服务端渲染和Vue浏览器端渲染性能对比的示例分析
    Vue服务端渲染和Vue浏览器端渲染性能对比的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。本人在做Vue项目的时候,一直苦于产品...
    99+
    2024-04-02
  • vue的ssr服务端渲染示例详解
    为什么使用服务器端渲染 (SSR) 更好的 SEO,由于搜索引擎爬虫抓取工具可以直接查看完全渲染的页面。 请注意,截至目前,Google 和 Bing 可以很好对同...
    99+
    2024-04-02
  • vue服务端渲染SSR的示例分析
    小编给大家分享一下vue服务端渲染SSR的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!前言首先来讲一下服务端渲染,直白的说就是在服务端拿数据进行解析渲染,直接生成html片段返回...
    99+
    2024-04-02
  • vue中怎么实现服务端渲染
    本篇文章为大家展示了vue中怎么实现服务端渲染,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、什么是服务端渲染客户端请求服务器,服务器根据请求地址获得匹配的组件,...
    99+
    2024-04-02
  • 怎么改造Vue SSR服务端渲染
    本篇内容介绍了“怎么改造Vue SSR服务端渲染”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Vue的SS...
    99+
    2024-04-02
  • Vue 服务端渲染SSR示例详解
    目录手写Vue服务端渲染一.开始vue-ssr之旅二.采用模板渲染三.ssr目录创建四.通过webpack实现编译vue项目app.jsclient-entry.jsserver-e...
    99+
    2024-04-02
  • vue服务端渲染缓存的示例分析
    这篇文章给大家分享的是有关vue服务端渲染缓存的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。服务端渲染简介服务端渲染不是一个新的技术;在 Web 最初的时候,页面就是通...
    99+
    2024-04-02
  • vue中如何实现SSR服务端渲染
    本篇内容主要讲解“vue中如何实现SSR服务端渲染”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue中如何实现SSR服务端渲染”吧!一、SSR是什么Server-Side Rendering ...
    99+
    2023-06-29
  • Vue组件中服务器端渲染的示例分析
    这篇文章主要为大家展示了“Vue组件中服务器端渲染的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue组件中服务器端渲染的示例分析”这篇文章吧。现在,...
    99+
    2024-04-02
  • 服务器端渲染:Vue Nuxt.js 性能提升的秘诀
    服务器端渲染 (SSR) 是一种技术,它将 Vue 组件在服务器上渲染成 HTML,然后发送给浏览器。与客户端渲染 (CSR) 相比,SSR 具有以下优势: 更快的页面加载时间:SSR 将渲染后的 HTML 发送给浏览器,因此页面可以...
    99+
    2024-02-19
    服务器端渲染 Vue Nuxt.js 性能优化 页面速度
  • 服务器端渲染:解锁 Vue Nuxt.js 的性能潜力
    服务器端渲染 (SSR) 的工作原理 SSR 是一种渲染技术,它在服务器上而不是客户端上呈现页面。当浏览器请求页面时,服务器将执行应用程序代码,生成 HTML 并将其作为响应返回。此过程消除了客户端渲染的需要,从而提高了初始页面加载性能...
    99+
    2024-02-19
    服务器端渲染 Vue Nuxt.js 性能优化
  • Vue项目中如何实现服务器端渲染
    本篇内容介绍了“Vue项目中如何实现服务器端渲染”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!vue-ssr在项目中的实践写在文前由于前端脚...
    99+
    2023-06-04
  • VUE 嵌套路由与 SSR:服务器端渲染的魔力
    嵌套路由是一种在 Vue.js 中组织路由的强大技术。它允许您创建具有多个级别的路由层次结构,从而使复杂应用程序的导航更加简洁和直观。嵌套路由的优势包括: 模块化和可重用性:您可以将路由组织成模块化组件,从而可以轻松地重用和维护。 代码...
    99+
    2024-04-02
  • React服务端渲染的示例分析
    这篇文章主要介绍了React服务端渲染的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、前言为什么需要服务端渲染?什么情况下进行服...
    99+
    2024-04-02
  • Vue中怎么搭建一个服务端渲染项目
    这篇文章给大家介绍Vue中怎么搭建一个服务端渲染项目,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。客户端渲染过程 访问客户端渲染的网站。 服务器返回一个包含了引入资...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作