自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Nuxt 3.5 正式發(fā)布,支持 Vue 3.3!

開發(fā) 前端
雖然沒有為 Nuxt 2 中的build.extend鉤子提供類型或文檔,但一直在webpack 中調(diào)用它,現(xiàn)在明確地棄用了它,并將在將來的小版本中刪除它。

5 月 16 日,Nuxt 3.5.0 正式發(fā)布,它帶來了 Vue 3.3 版本、新的默認設(shè)置、交互式服務(wù)端組件、類型化頁面、環(huán)境配置等。

Vue 3.3

Vue 3.3 已經(jīng)發(fā)布,具有許多令人興奮的特性,特別是在類型支持方面。包括:

  • 宏中的導(dǎo)入和復(fù)雜類型支持
  • 通用組件
  • 更符合人體工程學(xué)的 defineEmits
  • 使用 defineSlots 的類型插槽
  • 響應(yīng)式 Props 解構(gòu)
  • defineModel
  • defineOptions
  • 使用 toRef 和 toValue 實現(xiàn)更好的 getter 支持
  • JSX 導(dǎo)入源支持
  • 維護基礎(chǔ)設(shè)施改進

Nitropack v2.4

Nuxt.js 團隊一直致力于對 Nitro 進行大量改進,這些改進已經(jīng)在 Nitro v2.4 中實現(xiàn)——其中包含許多錯誤修復(fù)、Cloudflare 模塊工作格式的更新、Vercel KV 支持等。

注意:如果需要部署到 Vercel 或 Netlify 并希望從增量靜態(tài)再生中受益,應(yīng)該更新路由規(guī)則:

routeRules: {
--  '/blog/**': { swr: 3000 },
++  '/blog/**': { isr: 3000 },
}

豐富的 JSON 負載

現(xiàn)在默認啟用豐富的 JSON 負載序列化。這既更快又允許序列化從 Nuxt 服務(wù)端傳遞到客戶端的有效載荷中的復(fù)雜對象(以及在為預(yù)渲染站點提取有效載荷數(shù)據(jù)時)。

現(xiàn)在這意味著開箱即用地支持各種豐富的 JS 類型:正則表達式、日期、Map 和 Set 以及 BigInt 以及 NuxtError,以及 Vue 特定的對象,如 ref、reactive、shallowRef 和 shallowReactive。

長期以來,由于序列化 Errors 和其他非 POJO 對象的問題,Nuxt 一直在使用自己的 devalue fork,但現(xiàn)在已經(jīng)過渡回原始版本。我們甚至可以使用新的對象語法Nuxt插件注冊自定義類型:

export default definePayloadPlugin(() => {
  definePayloadReducer('BlinkingText', data => data === '<original-blink>' && '_')
  definePayloadReviver('BlinkingText', () => '<revivified-blink>')
})

交互式服務(wù)端組件

這個功能應(yīng)該被認為是高度實驗性的,現(xiàn)在通過插槽支持服務(wù)端組件內(nèi)的交互式內(nèi)容。

環(huán)境配置

現(xiàn)在可以在 nuxt.config 中配置完全類型化的、按環(huán)境的覆蓋:

export default defineNuxtConfig({
  $production: {
    routeRules: {
      '/**': { isr: true }
    }
  },
  $development: {
    //
  }
})

如果正在創(chuàng)作圖層,還可以使用 $meta 關(guān)鍵字來提供元數(shù)據(jù),層的使用者可能會用到它。

完全類型化的頁面

通過與unplugin-vue-router的實驗性整合,可以在Nuxt應(yīng)用中受益于完全類型化的路由。

開箱即用,這將啟用對navigateTo、<NuxtLink>、router.push()等功能的類型化使用。

甚至可以通過使用const route = useRoute('route-name')在頁面內(nèi)獲取類型化的參數(shù)。

直接在nuxt.config中啟用此功能:

export default defineNuxtConfig({
  experimental: {
    typedPages: true
  }
})

Bundler的模塊解析

現(xiàn)在,Nuxt內(nèi)部完全支持使用 bundler 策略進行模塊解析。

如果可能,建議采用此方法。它具有對子路徑導(dǎo)出的類型支持,但與 Node16 解析相比,更準確地匹配了諸如 Vite 和 Nuxt 這樣的構(gòu)建工具的行為。

export default defineNuxtConfig({
  typescript: {
    tsConfig: {
      compilerOptions: {
        moduleResolution: 'bundler'
      }
    }
  }
})

這將開啟TypeScript跟蹤Node子路徑導(dǎo)出的功能。例如,如果一個庫有一個像mylib/path這樣的子路徑導(dǎo)出,映射到mylib/dist/path.mjs,那么可以從mylib/dist/path.d.ts中引入此類型,而不需要庫作者創(chuàng)建mylib/path.d.ts。

分離的服務(wù)端類型

Nuxt 團隊計劃通過為~/server目錄生成單獨的tsconfig.json來改善IDE中"nitro"和"vue"部分之間的清晰度。

可以通過添加一個額外的~/server/tsconfig.json并使用以下內(nèi)容來使用:

{
  "extends": "../.nuxt/tsconfig.server.json"
}

雖然現(xiàn)在在類型檢查 (nuxi typecheck) 時不會考慮這些值,但應(yīng)該在 IDE 中獲得更好的類型提示。

棄用內(nèi)容

雖然沒有為 Nuxt 2 中的build.extend鉤子提供類型或文檔,但一直在webpack 中調(diào)用它,現(xiàn)在明確地棄用了它,并將在將來的小版本中刪除它。

升級

建議運行以下命令進行升級:

nuxi upgrade --force

這也將刷新 lockfile 文件,并確保從 Nuxt 依賴的其他依賴項中獲取更新,特別是在 unjs 生態(tài)系統(tǒng)中。

參考:https://nuxt.com/blog/v3-5

責任編輯:武曉燕 來源: 前端充電寶
相關(guān)推薦

2023-05-12 10:22:23

Vue 3.3TypeScrip

2023-06-24 22:12:23

2023-05-17 15:10:03

兼容JSXVue

2011-01-26 09:37:49

LibreOffice

2024-01-31 12:13:22

2023-08-27 09:08:45

CLI工具Web

2012-02-16 10:13:14

LibreOffice

2013-02-22 15:57:12

PyPyODBCPython

2023-06-24 23:11:07

2009-07-01 09:52:09

Firefox 3.5

2013-04-16 09:56:33

GlusterFSOpenStack

2012-07-23 10:45:42

Linux

2012-07-16 13:25:35

jQuery

2009-07-01 09:49:11

Firefox 3.5

2009-07-01 09:53:28

FireFox 3.5

2022-07-01 16:36:06

NaturoVue 2.7

2013-05-23 10:26:27

Chrome for google

2012-05-09 10:16:10

SAPActiveEmbed

2017-09-08 15:49:42

互聯(lián)網(wǎng)

2014-12-17 09:26:26

GoAndroid
點贊
收藏

51CTO技術(shù)棧公眾號