使用Nuxt.js實現服務端渲染(SSR):提升SEO與性能的完整指南

使用Nuxt.js實現服務端渲染(SSR):提升SEO與性能的完整指南

  • 使用Nuxt.js實現服務端渲染(SSR):提升SEO與性能的完整指南
    • 1. 服務端渲染(SSR)核心概念
      • 1.1 CSR vs SSR vs SSG
      • 1.2 SSR工作原理圖解
    • 2. Nuxt.js框架深度解析
      • 2.1 Nuxt.js架構設計
        • 2.1.1 約定優于配置(Convention Over Configuration)
        • 2.1.2 分層架構設計
      • 2.2 核心特性全解
        • 2.2.1 自動路由系統
        • 2.2.2 多渲染模式支持
      • 2.3 模塊系統與插件機制
        • 2.3.1 官方模塊生態系統
        • 2.3.2 自定義插件開發
      • 2.4 配置體系詳解
        • 2.4.1 核心配置項解析
        • 2.4.2 環境變量管理
      • 2.5 生命周期全流程解析
        • 2.5.1 服務端生命周期
        • 2.5.2 客戶端Hydration流程
      • 2.6 數據獲取策略對比
        • 2.6.1 asyncData vs fetch
        • 2.6.2 數據緩存策略
      • 2.7 狀態管理進階實踐
        • 2.7.1 Vuex模塊化架構
        • 2.7.2 服務端數據預取
      • 2.8 錯誤處理與調試技巧
        • 2.8.1 自定義錯誤頁面
        • 2.8.2 性能調試工具
      • 2.9 進階開發技巧
        • 2.9.1 動態布局切換
        • 2.9.2 混合渲染模式
      • 2.10 版本升級指南(Nuxt 2 → Nuxt 3)
        • 2.10.1 主要變化點
        • 2.10.2 遷移策略
    • 3. 實戰:構建Nuxt.js SSR應用
      • 3.1 項目初始化
      • 3.2 動態路由示例
    • 4. SEO優化實踐
      • 4.1 智能元數據管理
        • 4.1.1 基礎元數據配置
        • 4.1.2 動態元數據注入
        • 4.1.3 高級元數據管理
      • 4.2 結構化數據集成
        • 4.2.1 Schema.org 結構化標記
        • 4.2.2 面包屑導航實現
      • 4.3 預渲染策略優化
        • 4.3.1 靜態生成配置
        • 4.3.2 混合渲染模式
      • 4.4 社交媒體優化
        • 4.4.1 Open Graph 協議
        • 4.4.2 Twitter Cards 配置
      • 4.5 國際SEO優化
        • 4.5.1 多語言配置
        • 4.5.2 hreflang 實現
      • 4.6 內容優化策略
        • 4.6.1 語義化HTML結構
        • 4.6.2 內部鏈接優化
      • 4.7 性能優化與SEO
        • 4.7.1 關鍵資源預加載
        • 4.7.2 圖片優化方案
      • 4.8 SEO監控與分析
        • 4.8.1 Google Search Console集成
        • 4.8.2 SEO健康檢查清單
      • 4.9 常見SEO問題解決方案
        • 4.9.1 重復內容處理
        • 4.9.2 分頁優化
      • 4.10 持續SEO優化策略
        • 4.10.1 內容更新機制
        • 4.10.2 性能持續監控
    • 5. 性能優化方案
      • 5.1 組件級緩存
    • 6. 部署配置示例
      • 6.1 PM2生產配置
    • 總結:

使用Nuxt.js實現服務端渲染(SSR):提升SEO與性能的完整指南

1. 服務端渲染(SSR)核心概念

1.1 CSR vs SSR vs SSG

通過對比表格展示不同渲染方式的差異:

特性CSRSSRSSG
渲染時機客戶端服務端構建時
SEO支持度優秀優秀
首屏加載速度極快
適用場景后臺系統內容型網站靜態內容網站

1.2 SSR工作原理圖解

User Browser Server API 訪問URL 發送頁面請求 請求初始數據 返回數據 渲染HTML 返回完整HTML 執行Hydration User Browser Server API

以下是 “2. Nuxt.js框架深度解析” 的詳細擴展內容,約5000字:


2. Nuxt.js框架深度解析

2.1 Nuxt.js架構設計

2.1.1 約定優于配置(Convention Over Configuration)

Nuxt.js 采用"約定優于配置"的設計理念,通過標準化目錄結構降低決策成本:

├── assets/       # 未編譯資源
├── components/   # 可復用組件
├── layouts/      # 布局模板
├── pages/        # 自動生成路由
├── plugins/      # 第三方插件
├── static/       # 直接訪問的靜態文件
└── store/        # Vuex狀態管理

這種設計使得開發者無需手動配置路由和構建流程,專注于業務邏輯開發。對于需要自定義的場景,可通過 nuxt.config.js 進行覆蓋。

2.1.2 分層架構設計

Nuxt.js 采用三層架構模型:

  1. 服務層:處理Node.js服務端邏輯
  2. 渲染層:實現Vue組件到HTML的轉換
  3. 客戶端層:管理瀏覽器端Hydration

這種分層設計使得SSR過程對開發者透明,同時保持框架的可擴展性。


2.2 核心特性全解

2.2.1 自動路由系統

Nuxt.js 根據 pages 目錄結構自動生成路由配置:

pages/
├── index.vue        => /
└── users/├── index.vue    => /users└── _id.vue      => /users/:id

支持動態路由、嵌套路由和自定義路由配置:

// nuxt.config.js
export default {router: {extendRoutes(routes, resolve) {routes.push({path: '/custom',component: resolve(__dirname, 'pages/custom-page.vue')})}}
}
2.2.2 多渲染模式支持

Nuxt.js 提供三種渲染模式:

// nuxt.config.js
export default {ssr: true,  // 服務端渲染模式(SSR)target: 'server' // 或 'static'(靜態生成)
}
  1. Universal Mode (SSR)
  2. Static Site Generation (SSG)
  3. Single Page Application (SPA)

模式對比:

特性SSR模式SSG模式SPA模式
首屏加載速度極快
動態內容支持優秀需客戶端hydrate完全動態
部署復雜度需要Node服務器純靜態托管純靜態托管

2.3 模塊系統與插件機制

2.3.1 官方模塊生態系統

Nuxt.js 通過模塊系統擴展功能:

// nuxt.config.js
export default {modules: ['@nuxtjs/axios','@nuxtjs/auth-next','@nuxtjs/sitemap']
}

常用官方模塊:

  • @nuxtjs/axios:封裝HTTP請求
  • @nuxtjs/pwa:PWA支持
  • @nuxt/content:內容管理系統
2.3.2 自定義插件開發

插件注入示例:

// plugins/hello.js
export default ({ app }, inject) => {inject('hello', (msg) => console.log(`Hello ${msg}!`))
}// nuxt.config.js
export default {plugins: ['~/plugins/hello.js']
}// 組件內使用
this.$hello('World') // 控制臺輸出 "Hello World!"

2.4 配置體系詳解

2.4.1 核心配置項解析
// nuxt.config.js
export default {// 構建配置build: {transpile: ['lodash-es'],extend(config, { isClient }) {if (isClient) {config.optimization.splitChunks.maxSize = 250000}}},// 環境變量publicRuntimeConfig: {API_BASE_URL: process.env.API_BASE_URL || 'https://api.example.com'},// 渲染配置render: {compressor: { threshold: 0 },etag: { weak: true }}
}
2.4.2 環境變量管理

推薦使用 .env 文件:

# .env
API_SECRET=your_api_secret
BASE_URL=https://production.com

配置讀取策略:

// nuxt.config.js
export default {publicRuntimeConfig: {baseURL: process.env.BASE_URL},privateRuntimeConfig: {apiSecret: process.env.API_SECRET}
}

2.5 生命周期全流程解析

2.5.1 服務端生命周期
Client Server Store Middleware Page 頁面請求 執行服務端中間件 提交數據到Vuex 觸發asyncData/fetch 返回渲染完成的HTML Client Server Store Middleware Page
2.5.2 客戶端Hydration流程
// 完整生命周期順序:
1. nuxtServerInit (store)
2. middleware- 全局中間件- 布局中間件- 路由中間件
3. validate()
4. asyncData()
5. fetch()
6. head()
7. 客戶端mounted()

2.6 數據獲取策略對比

2.6.1 asyncData vs fetch
<script>
export default {async asyncData({ $axios }) {const posts = await $axios.$get('/api/posts')return { posts }},fetch({ store }) {return store.dispatch('loadUserData')}
}
</script>

特性對比:

方法執行環境訪問組件實例數據合并方式
asyncData僅服務端直接合并到data
fetch雙端需手動提交store
2.6.2 數據緩存策略
// 使用lru-cache實現接口級緩存
const LRU = require('lru-cache')
const cache = new LRU({ max: 1000 })export default function ({ $axios }) {$axios.onRequest((config) => {if (config.cacheKey && cache.has(config.cacheKey)) {return Promise.resolve(cache.get(config.cacheKey))}return config})
}

2.7 狀態管理進階實踐

2.7.1 Vuex模塊化架構
// store/user.js
export const state = () => ({profile: null
})export const mutations = {SET_PROFILE(state, profile) {state.profile = profile}
}export const actions = {async loadProfile({ commit }) {const profile = await this.$axios.$get('/api/profile')commit('SET_PROFILE', profile)}
}
2.7.2 服務端數據預取
// 使用nuxtServerInit預取全局數據
export const actions = {nuxtServerInit({ dispatch }, { req }) {if (req.headers.cookie) {return dispatch('user/loadFromCookie', req.headers.cookie)}}
}

2.8 錯誤處理與調試技巧

2.8.1 自定義錯誤頁面
<!-- layouts/error.vue -->
<template><div class="error-container"><h1>{{ error.statusCode }}</h1><p>{{ error.message }}</p><button @click="$router.push('/')">返回首頁</button></div>
</template><script>
export default {props: ['error']
}
</script>
2.8.2 性能調試工具
  1. 使用 nuxt-bundle-analyzer 分析構建體積
  2. 通過 $nuxt.context 查看運行時上下文
  3. 集成Sentry進行錯誤監控:
// nuxt.config.js
export default {buildModules: ['@nuxtjs/sentry'],sentry: {dsn: process.env.SENTRY_DSN,config: {}}
}

2.9 進階開發技巧

2.9.1 動態布局切換
<script>
export default {layout(context) {return context.isMobile ? 'mobile' : 'default'}
}
</script>
2.9.2 混合渲染模式
// nuxt.config.js
export default {render: {static: {paths: ['/static-page']},ssr: {paths: ['/dynamic/*']}}
}

2.10 版本升級指南(Nuxt 2 → Nuxt 3)

2.10.1 主要變化點
  1. 基于Vue 3的Composition API
  2. Nitro服務引擎替換
  3. 模塊系統重構
  4. TypeScript原生支持
2.10.2 遷移策略
  1. 逐步替換Options API為Composition API
  2. 使用 @nuxt/bridge 過渡
  3. 重構自定義模塊
  4. 更新部署配置

3. 實戰:構建Nuxt.js SSR應用

3.1 項目初始化

npx create-nuxt-app my-ssr-project

3.2 動態路由示例

// pages/articles/_id.vue
export default {async asyncData({ params }) {const article = await fetch(`/api/articles/${params.id}`)return { article }},head() {return {title: this.article.title,meta: [{ hid: 'description', name: 'description', content: this.article.excerpt }]}}
}

4. SEO優化實踐

4.1 智能元數據管理

4.1.1 基礎元數據配置

Nuxt.js 提供全局和組件級的元數據管理能力:

// nuxt.config.js
export default {head: {title: '默認標題',titleTemplate: '%s | 網站品牌',htmlAttrs: { lang: 'zh-CN' },meta: [{ charset: 'utf-8' },{ name: 'viewport', content: 'width=device-width, initial-scale=1' },{ hid: 'description', name: 'description', content: '默認描述' },{ hid: 'keywords', name: 'keywords', content: '默認關鍵詞' }],link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }]}
}
4.1.2 動態元數據注入

在頁面組件中覆蓋全局配置:

<script>
export default {head() {return {title: this.product.name,meta: [{ hid: 'description', name: 'description', content: this.product.summary },{ hid: 'og:image', property: 'og:image', content: this.product.coverImage },{ name: 'robots', content: this.indexable ? 'index,follow' : 'noindex,nofollow' }]}}
}
</script>
4.1.3 高級元數據管理

使用 @nuxtjs/robots 模塊管理爬蟲指令:

npm install @nuxtjs/robots
// nuxt.config.js
export default {modules: ['@nuxtjs/robots'],robots: {UserAgent: '*',Disallow: ['/admin', '/private'],Sitemap: process.env.BASE_URL + '/sitemap.xml'}
}

4.2 結構化數據集成

4.2.1 Schema.org 結構化標記
<script>
export default {jsonld() {return {'@context': 'https://schema.org','@type': 'Product',name: this.product.name,image: this.product.images,offers: {'@type': 'Offer',priceCurrency: 'CNY',price: this.product.price}}}
}
</script>
4.2.2 面包屑導航實現
<script>
export default {jsonld() {return {'@context': 'https://schema.org','@type': 'BreadcrumbList',itemListElement: [{'@type': 'ListItem',position: 1,name: '首頁',item: process.env.BASE_URL},{'@type': 'ListItem',position: 2,name: this.category.name,item: `${process.env.BASE_URL}/categories/${this.category.slug}`}]}}
}
</script>

4.3 預渲染策略優化

4.3.1 靜態生成配置
// nuxt.config.js
export default {target: 'static',generate: {routes: ['/products/1','/products/2',async () => {const products = await fetch('https://api.example.com/products')return products.map(product => `/products/${product.id}`)}],fallback: '404.html'}
}
4.3.2 混合渲染模式
// nuxt.config.js
export default {render: {static: true,ssr: true,hybrid: {routes: {'/dynamic/*': 'ssr','/static/*': 'static'}}}
}

4.4 社交媒體優化

4.4.1 Open Graph 協議
<script>
export default {head() {return {meta: [{ property: 'og:type', content: 'article' },{ property: 'og:url', content: `${process.env.BASE_URL}${this.$route.path}` },{ property: 'og:title', content: this.article.title },{ property: 'og:description', content: this.article.excerpt },{ property: 'og:image', content: this.article.coverImage },{ property: 'og:site_name', content: '網站名稱' }]}}
}
</script>
4.4.2 Twitter Cards 配置
<script>
export default {head() {return {meta: [{ name: 'twitter:card', content: 'summary_large_image' },{ name: 'twitter:site', content: '@yourtwitterhandle' },{ name: 'twitter:creator', content: '@authorhandle' }]}}
}
</script>

4.5 國際SEO優化

4.5.1 多語言配置
// nuxt.config.js
export default {modules: ['nuxt-i18n'],i18n: {locales: [{ code: 'en', iso: 'en-US', file: 'en-US.js' },{ code: 'zh', iso: 'zh-CN', file: 'zh-CN.js' }],defaultLocale: 'zh',strategy: 'prefix_except_default',detectBrowserLanguage: false}
}
4.5.2 hreflang 實現
<script>
export default {head() {const links = []this.$i18n.locales.forEach(locale => {links.push({hid: `alternate-hreflang-${locale.code}`,rel: 'alternate',hreflang: locale.iso,href: `${process.env.BASE_URL}${this.$i18n.getPath(locale.code, this.$route.path)}`})})return { link: links }}
}
</script>

4.6 內容優化策略

4.6.1 語義化HTML結構
<template><article><header><h1>{{ article.title }}</h1><time :datetime="article.publishedAt">{{ formatDate(article.publishedAt) }}</time></header><section><nuxt-content :document="article" /></section><footer><author-info :author="article.author" /></footer></article>
</template>
4.6.2 內部鏈接優化
<template><div class="related-articles"><h2>相關文章</h2><ul><li v-for="article in relatedArticles" :key="article.id"><nuxt-link :to="`/articles/${article.slug}`">{{ article.title }}</nuxt-link></li></ul></div>
</template>

4.7 性能優化與SEO

4.7.1 關鍵資源預加載
// nuxt.config.js
export default {render: {resourceHints: true,http2: {push: true,pushAssets: (req, res, publicPath, preloadFiles) => {return preloadFiles.filter(f => f.asType === 'script' && f.file === 'runtime.js').map(f => `<${publicPath}${f.file}>; rel=preload; as=${f.asType}`)}}}
}
4.7.2 圖片優化方案
<template><picture><source :srcset="require(`~/assets/images/${imageName}?webp`)" type="image/webp"><img :src="require(`~/assets/images/${imageName}`)" :alt="altText"loading="lazy"width="800"height="600"></picture>
</template>

4.8 SEO監控與分析

4.8.1 Google Search Console集成
<!-- layouts/default.vue -->
<script>
export default {head() {return {script: [{hid: 'google-site-verification',src: `https://www.googletagmanager.com/gtag/js?id=${process.env.GA_TRACKING_ID}`,async: true},{hid: 'gtm-init',innerHTML: `window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', '${process.env.GA_TRACKING_ID}');`,type: 'text/javascript'}]}}
}
</script>
4.8.2 SEO健康檢查清單
  1. 使用 Screaming Frog 抓取全站
  2. 驗證所有頁面的HTTP狀態碼
  3. 檢查是否有重復的元描述和標題(建議不超過3次)
  4. 分析外鏈質量(使用Ahrefs或Majestic)
  5. 移動端友好性測試(Google Mobile-Friendly Test)
  6. 核心Web指標達標檢測(Lighthouse)

4.9 常見SEO問題解決方案

4.9.1 重復內容處理
// nuxt.config.js
export default {modules: ['@nuxtjs/robots'],robots: {rules: {UserAgent: '*',Disallow: ['/search*','/?ref=*']}}
}
4.9.2 分頁優化
<script>
export default {head() {const canonical = `${process.env.BASE_URL}${this.$route.path}`const prev = this.currentPage > 1 ? `${canonical}?page=${this.currentPage - 1}`: nullconst next = this.currentPage < this.totalPages ? `${canonical}?page=${this.currentPage + 1}`: nullreturn {link: [{ rel: 'canonical', href: canonical },...(prev ? [{ rel: 'prev', href: prev }] : []),...(next ? [{ rel: 'next', href: next }] : [])]}}
}
</script>

4.10 持續SEO優化策略

4.10.1 內容更新機制
// 自動生成sitemap
const createSitemapRoutes = async () => {const { $content } = require('@nuxt/content')const articles = await $content('articles').fetch()return articles.map(article => `/articles/${article.slug}`)
}export default {sitemap: {hostname: process.env.BASE_URL,routes: createSitemapRoutes,defaults: {changefreq: 'weekly',priority: 0.8}}
}
4.10.2 性能持續監控
// 集成Web Vitals監控
export default function ({ app }) {app.router.afterEach((to, from) => {if (typeof window !== 'undefined' && window.gtag) {setTimeout(() => {import('web-vitals').then(({ getCLS, getFID, getLCP }) => {getCLS(console.log)getFID(console.log)getLCP(console.log)})}, 3000)}})
}

5. 性能優化方案

5.1 組件級緩存

// nuxt.config.js
export default {render: {bundleRenderer: {cache: require('lru-cache')({max: 1000,maxAge: 1000 * 60 * 15})}}
}

6. 部署配置示例

6.1 PM2生產配置

// ecosystem.config.js
module.exports = {apps: [{name: 'my-nuxt-app',exec_mode: 'cluster',instances: 'max',script: './node_modules/nuxt/bin/nuxt.js',args: 'start'}]
}

總結:

本文深入解析了如何通過Nuxt.js實現服務端渲染(SSR)以全面提升SEO與性能。Nuxt.js通過自動路由生成、混合渲染模式(SSR/SSG)和智能數據預取,顯著優化首屏加載速度與搜索引擎友好性。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/67995.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/67995.shtml
英文地址,請注明出處:http://en.pswp.cn/web/67995.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

解釋 Java 中的反射機制和動態代理的原理?

反射機制是Java語言的一個特性&#xff0c;它允許程序在運行時檢查和操作類、方法、字段等。 通過反射&#xff0c;我們可以在運行時獲取類的信息&#xff0c;創建對象&#xff0c;調用方法和訪問字段&#xff0c;即使這些信息在編譯時是未知的。 反射的基本用法 import jav…

http狀態碼:504 Gateway Timeout(網關超時)的原有以及排查問題的思路

504 Gateway Timeout&#xff08;網關超時&#xff09; 是一種常見的HTTP錯誤狀態碼&#xff0c;表示服務器作為網關或代理時&#xff0c;未能及時從上游服務器收到響應。以下是它的原因和排查問題的思路&#xff1a; 1. 504錯誤的含義 定義&#xff1a;服務器作為網關或代理時…

Linux 安裝 RabbitMQ

Linux下安裝RabbitMQ 1 、獲取安裝包 # 地址 https://github.com/rabbitmq/erlang-rpm/releases/download/v21.3.8.9/erlang-21.3.8.9-1.el7.x86_64.rpm erlang-21.3.8.9-1.el7.x86_64.rpmsocat-1.7.3.2-1.el6.lux.x86_64.rpm# 地址 https://github.com/rabbitmq/rabbitmq-se…

LOCAL_PREBUILT_JNI_LIBS使用說明

LOCAL_PREBUILT_JNI_LIBS使用說明 使用LOCAL_PREBUILT_JNI_LIBS&#xff0c;可用于控制APK集成時&#xff0c;其相關so的集成方式。 比如&#xff0c;用于將APK中的so&#xff0c;抽取出來。 LOCAL_PREBUILT_JNI_LIBS : \lib/arm64-v8a/libNativeCore.so \lib/arm64-v8a/liba…

Java中的object類

1.Object類是什么&#xff1f; &#x1f7ea;Object 是 Java 類庫中的一個特殊類&#xff0c;也是所有類的父類(超類),位于類繼承層次結構的頂端。也就是說&#xff0c;Java 允許把任何類型的對象賦給 Object 類型的變量。 &#x1f7e6;Java里面除了Object類&#xff0c;所有的…

uniapp小程序自定義中間凸起樣式底部tabbar

我自己寫的自定義的tabbar效果圖 廢話少說咱們直接上代碼&#xff0c;一步一步來 第一步&#xff1a; 找到根目錄下的 pages.json 文件&#xff0c;在 tabBar 中把 custom 設置為 true&#xff0c;默認值是 false。list 中設置自定義的相關信息&#xff0c; pagePath&#x…

四、GPIO中斷實現按鍵功能

4.1 GPIO簡介 輸入輸出&#xff08;I/O&#xff09;是一個非常重要的概念。I/O泛指所有類型的輸入輸出端口&#xff0c;包括單向的端口如邏輯門電路的輸入輸出管腳和雙向的GPIO端口。而GPIO&#xff08;General-Purpose Input/Output&#xff09;則是一個常見的術語&#xff0c…

vscode+CMake+Debug實現 及權限不足等諸多問題匯總

環境說明 有空再補充 直接貼兩個json tasks.json {"version": "2.0.0","tasks": [{"label": "cmake","type": "shell","command": "cmake","args": ["../"…

【Elasticsearch】post_filter

post_filter是 Elasticsearch 中的一種后置過濾機制&#xff0c;用于在查詢執行完成后對結果進行過濾。以下是關于post_filter的詳細介紹&#xff1a; 工作原理 ? 查詢后過濾&#xff1a;post_filter在查詢執行完畢后對返回的文檔集進行過濾。這意味著所有與查詢匹配的文檔都…

《數據可視化新高度:Graphy的AI協作變革》

在數據洪流奔涌的時代&#xff0c;企業面臨的挑戰不再僅僅是數據的收集&#xff0c;更在于如何高效地將數據轉化為洞察&#xff0c;助力決策。Graphy作為一款前沿的數據可視化工具&#xff0c;憑借AI賦能的團隊協作功能&#xff0c;為企業打開了數據協作新局面&#xff0c;重新…

Vue 2 與 Vue 3 的主要區別

Vue.js 是一個流行的前端框架&#xff0c;用于構建用戶界面和單頁應用。自從 Vue 2 發布以來&#xff0c;社區對其進行了廣泛的應用和擴展&#xff0c;而 Vue 3 的發布則帶來了許多重要的改進和新特性。 性能提升 Vue 3 在響應式系統上進行了重大的改進&#xff0c;采用了基于…

從零開始:用Qt開發一個功能強大的文本編輯器——WPS項目全解析

文章目錄 引言項目功能介紹1. **文件操作**2. **文本編輯功能**3. **撤銷與重做**4. **剪切、復制與粘貼**5. **文本查找與替換**6. **打印功能**7. **打印預覽**8. **設置字體顏色**9. **設置字號**10. **設置字體**11. **左對齊**12. **右對齊**13. **居中對齊**14. **兩側對…

【IoCDI】_Spring的基本掃描機制

目錄 1. 創建測試項目 2. 改變啟動類所屬包 3. 使用ComponentScan 4. Spring基本掃描機制 程序通過注解告訴Spring希望哪些bean被管理&#xff0c;但在僅使用Bean時已經發現&#xff0c;Spring需要根據五大類注解才能進一步掃描方法注解。 由此可見&#xff0c;Spring對注…

vue 引入百度地圖和高德天氣 都得獲取權限

vue接入百度地圖---獲取ak https://blog.csdn.net/qq_57144407/article/details/143430661 vue接入高德天氣&#xff0c; 需要授權----獲取key https://www.jianshu.com/p/09ddd698eebe

通向AGI之路:人工通用智能的技術演進與人類未來

文章目錄 引言:當機器開始思考一、AGI的本質定義與技術演進1.1 從專用到通用:智能形態的范式轉移1.2 AGI發展路線圖二、突破AGI的五大技術路徑2.1 神經符號整合(Neuro-Symbolic AI)2.2 世界模型架構(World Models)2.3 具身認知理論(Embodied Cognition)三、AGI安全:價…

python中的命名規范

在python中&#xff0c;命名規范是編寫清晰&#xff0c;可讀性強代碼的重要部分&#xff0c;遵循這些規范可以使代碼更易于理解和維護。 Type命名約定命名例子函數&#xff08;Function&#xff09;小寫單詞&#xff0c;下劃線分割單詞function,delta_function方法&#xff08…

【工具變量】中國省級八批自由貿易試驗區設立及自貿區設立數據(2024-2009年)

一、測算方式&#xff1a;參考C刊《中國軟科學》任曉怡老師&#xff08;2022&#xff09;的做法&#xff0c;使用自由貿易試驗區(Treat Post) 表征&#xff0c;Treat為個體不隨時間變化的虛擬變量&#xff0c;如果該城市設立自由貿易試驗區則賦值為1&#xff0c;反之賦值為0&am…

Java進階總結——集合

Java進階總結——集合 說明&#xff1a;對于以上的框架圖有如下幾點說明 1.所有集合類都位于java.util包下。Java的集合類主要由兩個接口派生而出&#xff1a;Collection和Map&#xff0c;Collection和Map是Java集合框架的根接口&#xff0c;這兩個接口又包含了一些子接口或實…

計算機視覺和圖像處理

計算機視覺與圖像處理的最新進展 隨著人工智能技術的飛速發展&#xff0c;計算機視覺和圖像處理作為其中的重要分支&#xff0c;正逐步成為推動科技進步和產業升級的關鍵力量。 一、計算機視覺的最新進展 計算機視覺&#xff0c;作為人工智能的重要分支&#xff0c;主要研究如…

3.PPT:華老師-計算機基礎課程【3】

目錄 NO12? NO34? NO56? NO789? NO12 根據考生文件夾下的Word文檔“PPT素材.docx”中提供的內容在PPT.pptx中生成初始的6張幻燈片 新建幻燈片6張→ctrlc復制→ctrlv粘貼開始→新建幻燈片→幻燈片(從大綱)→Word文檔注?前提是&#xff1a;Word文檔必須應用標題1、標題2…