匯入元資料

使用 `import.meta` 瞭解你的程式碼執行在哪裡。

import.meta 物件

透過 ES 模組,你可以從匯入或編譯 ES 模組的程式碼中獲取一些元資料。這是透過 import.meta 完成的,它是一個為你的程式碼提供這些資訊的物件。在 Nuxt 文件中,你可能會看到已經使用它的程式碼片段,以判斷程式碼當前是在客戶端還是伺服器端執行。

閱讀更多關於 import.meta 的資訊。

執行時(應用)屬性

這些值是靜態注入的,可用於對你的執行時程式碼進行搖樹最佳化(tree-shaking)。

屬性型別描述
import.meta.clientboolean在客戶端評估時為 true。
import.meta.browserboolean在客戶端評估時為 true。
import.meta.serverboolean在伺服器端評估時為 true。
import.meta.nitroboolean在伺服器端評估時為 true。
import.meta.devboolean在執行 Nuxt 開發伺服器時為 true。
import.meta.testboolean在測試上下文中執行時為 true。
import.meta.prerenderboolean在構建的預渲染階段,在伺服器上渲染 HTML 時為 true。

構建器屬性

這些值在模組和 nuxt.config 中都可用。

屬性型別描述
import.meta.env物件等同於 process.env
import.meta.urlstring當前檔案可解析的路徑。

示例

使用 import.meta.url 在模組中解析檔案

modules/my-module/index.ts
import { createResolver } from 'nuxt/kit'

// Resolve relative from the current file
const resolver = createResolver(import.meta.url)

export default defineNuxtModule({
  meta: { name: 'myModule' },
  setup () {
    addComponent({
      name: 'MyModuleComponent',
      // Resolves to '/modules/my-module/components/MyModuleComponent.vue'
      filePath: resolver.resolve('./components/MyModuleComponent.vue'),
    })
  },
})