sentry
@sentry/nuxt

Nuxt用公式Sentry SDK(実験的)

Sentry

Nuxt用公式Sentry SDK

npm versionnpm dmnpm dt

このSDKはNuxt用です。Vueを使用している場合は、こちらのVue SDKを参照してください。

互換性

サポートされているNuxtの最小バージョンは3.7.03.14.0+推奨)です。

概要

このパッケージは、サーバー側の@sentry/nodeとクライアント側の@sentry/vueをラップし、Nuxt関連の機能を追加したものです。

手動セットアップ

1. 前提条件とインストール

  1. Sentry Nuxt SDKをインストールします
    # Using npm
    npm install @sentry/nuxt
    
    # Using yarn
    yarn add @sentry/nuxt
    

2. Nuxtモジュールのセットアップ

Sentry Nuxt SDKはNuxtモジュールに基づいています。

  1. @sentry/nuxt/modulenuxt.config.tsのmodulesセクションに追加します
// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@sentry/nuxt/module'],
});

3. クライアント側のセットアップ

プロジェクトのルートにsentry.client.config.tsファイルを追加します

import { useRuntimeConfig } from '#imports';
import * as Sentry from '@sentry/nuxt';

Sentry.init({
  // If set up, you can use your runtime config here
  dsn: useRuntimeConfig().public.sentry.dsn,
});

4. サーバー側のセットアップ

プロジェクトのルートにsentry.server.config.tsファイルを追加します

import * as Sentry from '@sentry/nuxt';

// Only run `init` when process.env.SENTRY_DSN is available.
if (process.env.SENTRY_DSN) {
  Sentry.init({
    dsn: 'your-dsn',
  });
}

技術的な理由により(Nuxtがロードされる前にファイルがロードされる必要があるため)、Sentryサーバー設定ファイルではuseRuntimeConfigを使用できません。process.envを使用できるようにするには、nodeコマンドに--env-file=.envを追加するか

node --env-file=.env .output/server/index.mjs

またはdotenvパッケージを使用します

import dotenv from 'dotenv';
import * as Sentry from '@sentry/nuxt';

dotenv.config();

Sentry.init({
  dsn: process.env.SENTRY_DSN,
});

ソースマップのアップロード

ソースマップをアップロードするには、nuxt.config.tsでクライアントソースマップを有効にする必要があります。次に、プロジェクト設定をnuxt.config.tssentryに追加します

// nuxt.config.ts
export default defineNuxtConfig({
  sourcemap: { client: 'hidden' },

  modules: ['@sentry/nuxt/module'],
  sentry: {
    org: 'your-org-slug',
    project: 'your-project-slug',
    authToken: process.env.SENTRY_AUTH_TOKEN,
  },
});

トラブルシューティング

エラー追跡や統合に関する問題が発生した場合は、公式のSentry Nuxt SDKドキュメントを参照してください。ドキュメントに必要な情報がない場合は、GitHubでissueを開くことを検討してください。