Official Sentry SDK for Nuxt
This SDK is for Nuxt. If you're using Vue see our Vue SDK here.
Links
Compatibility
The minimum supported version of Nuxt is 3.7.0 (3.14.0+ recommended).
General
This package is a wrapper around @sentry/node for the server and @sentry/vue for the client side, with added
functionality related to Nuxt.
Manual Setup
1. Prerequisites & Installation
- Install the Sentry Nuxt SDK:
# Using npm npm install @sentry/nuxt # Using yarn yarn add @sentry/nuxt
2. Nuxt Module Setup
The Sentry Nuxt SDK is based on Nuxt Modules.
- Add
@sentry/nuxt/moduleto the modules section ofnuxt.config.ts:
// nuxt.config.ts
export default defineNuxtConfig({
modules: ['@sentry/nuxt/module'],
});
3. Client-side setup
Add a sentry.client.config.ts file to the root of your project:
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. Server-side setup
Add a sentry.server.config.ts file to the root of your project:
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',
});
}
Using useRuntimeConfig does not work in the Sentry server config file due to technical reasons (the file has to be
loaded before Nuxt is loaded). To be able to use process.env you either have to add --env-file=.env to your node
command
node --env-file=.env .output/server/index.mjs
or use the dotenv package:
import dotenv from 'dotenv';
import * as Sentry from '@sentry/nuxt';
dotenv.config();
Sentry.init({
dsn: process.env.SENTRY_DSN,
});
Uploading Source Maps
To upload source maps, you have to enable client source maps in your nuxt.config.ts. Then, you add your project
settings to sentry in your nuxt.config.ts:
// 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,
},
});
Troubleshoot
If you encounter any issues with error tracking or integrations, refer to the official Sentry Nuxt SDK documentation. If the documentation does not provide the necessary information, consider opening an issue on GitHub.