@bxs/vue-plugin-sentry
v0.3.0
Published
Init @sentry/vue without worry about ES6 transpilation. Support both Vue3 and Vue2.
Downloads
3
Readme
@bxs/vue-plugin-vue
以 Vue plugin 方式接入 @sentry/vue
,无需配置 ES2015 转译。
Usage
package.json
"dependencies": {
...
- "@sentry/tracing": "^7.41.0",
- "@sentry/vue": "^7.41.0",
+ "@bxs/vue-plugin-sentry": "^0.1.0"
},
main.js
- import * as Sentry from '@sentry/vue'
- import { BrowserTracing } from '@sentry/tracing'
+ import sentryPlugin from '@bxs/vue-plugin-sentry'
...
- Sentry.init({
- Vue, // `app` if for Vue3
- dsn: `dsnUrl`,
- integrations: [
- new BrowserTracing({
- tracePropagationTargets: []
- })
- ],
- tracesSampleRate: 0.05,
- environment: `environmentString`
- })
// app.use(...) if for Vue3
+ Vue.use(sentryPlugin, {
+ router, // router instance. Omit if not use VueRouter
+ dsn: `dsnUrl`, // from Sentry project setting
+ environment: `environmentString` // typically 'development' or 'production'
+ })
Default Sentry configuration
以下为 @bxs/vue-plugin-sentry 做 Sentry 初始化的缺省配置。当前未开放定制,如有需要请至 issues 提 feature request.
Sentry.init({
dsn,
integrations: [
new Sentry.BrowserTracing({
routingInstrumentation: Sentry.vueRouterInstrumentation( options.router ), // 未传入 router 时无此项
tracePropagationTargets: []
}),
new Sentry.Integrations.Breadcrumbs({ console: false }),
],
tracesSampleRate: 0.1,
maxBreadcrumbs: 20,
environment,
})
Use Transpliled Sentry Directly
0.3.0 版本起,可以直接 import plugin 内部(经过 ES 转译的)的 Sentry API,用于深度定制或其他场景。
main.js
- import * as Sentry from '@sentry/vue'
+ import { Sentry } from '@bxs/vue-plugin-sentry'
Sentry.init({
...
})
Build
因为 Babel 7.x 的 Root 概念,请始终在当前目录运行 pnpm build
(而非 monorepo root),否则当前目录的 babel.config.js
将不生效。