利用nuxt3+vue3的项目解决seo问题

目标:创建nuxt3+vue3的项目解决seo问题,在不改动服务器现有配置的情况下,本地将vue代码打包成便于seo的html格式。

成品展示:

(可以先看这个,看一下是不是你需要的结果)

一、初始化

1、官方Installation · Get Started with Nuxt,中文网站介绍 · 快速入门 Nuxt

npx:
npx nuxi@latest init <project-name>
pnpm:
pnpm dlx nuxi@latest init <project-name>

2、自己去GitHub下载(这个我用的较多,因为第一种方式我使用失败了)

点击链接:GitHub - nuxt/starter at v3

直接点绿色code的按钮,之后点击最下方下载压缩包,之后解压即可。

二、启动

1、npm和pnpm用官网方式打开即可Installation · Get Started with Nuxt(npm为node所带);或用yarn(我用的yarn,这个稳定且快一点)

npm install yarn -g

之后运行

yarn

2、启动调试

yarn dev -o
//加-o会自动打开浏览器,不加则不会

3、我这还引入了Naive UI的ui库(nuxt.config.ts还需要设置,主要看一下这个文档即可)

//终端引入代码
npm i -D naive-ui

//页面中引入代码(非全局)
<template>
  <n-button>naive-ui</n-button>
</template>

<script setup>
  import { NButton } from 'naive-ui'
</script>

//页面中引入代码(全局)
import { createApp } from 'vue'
import naive from 'naive-ui'

const app = createApp(App)
app.use(naive)

三、打包

1、本地将vue代码打包成便于seo的html格式。

在nuxt.config.ts中加入generate配置,整体代码如下:

export default defineNuxtConfig({
  devtools: { enabled: true },
  generate: {
    // 配置生成的静态文件的路由
    routes: [
      '/', // 配置需要预渲染的路由
      '/test',
      '/test-2'
    ],
    // 配置静态文件生成的文件名
    fallback: true, // 在404情况下是否回退到首页
    dir: 'dist' // 配置生成的静态文件目录
  }
})

配置好之后,终端输入(这里并没有build,因为我的目标就是本地打包好,不动服务器方面的东西):

yarn generate

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
是的,nuxt + vue-i18n 在多语言切换时会改变路由,这是它的核心机制所决定的。nuxt + vue-i18n 通过在路由路径中添加语言前缀来实现多语言切换的,例如: ``` // 中文版路由 /zh/home // 英文版路由 /en/home ``` 这样做的好处是可以让搜索引擎更好地识别不同语言的页面,从而提高网站的 SEO。 如果您不想在路由中添加语言前缀,也可以通过配置 nuxt.config.js 文件来实现。具体实现方法如下: 1. 设置 routeNameSplitter 在 nuxt.config.js 文件中,设置 routeNameSplitter 选项,例如: ``` export default { ... router: { ... routeNameSplitter: '/' }, ... } ``` 这样做的效果是让 nuxt 不在路由中添加语言前缀,而是使用 / 分隔符来分隔路由和语言信息。 2. 使用别名来设置带有语言信息的页面路径 在 pages 文件夹中,为每个页面创建一个带有语言信息的别名,例如: ``` // pages/home.vue <template> <div> <h1>{{ $t('home.title') }}</h1> </div> </template> <script> export default { ... } // 为中文版路由创建别名 export const cn = { path: '/home', alias: '/zh/home' } // 为英文版路由创建别名 export const en = { path: '/home', alias: '/en/home' } </script> ``` 这样做的效果是让 nuxt 在生成路由时,使用带有语言信息的别名来代替默认的路由路径。 以上是我为您提供的关于 nuxt + vue-i18n 改变了路由的解决方法。如果您有其他问题,可以随时向我提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值