Skip to content

how to access umTrackView in middleware #55

@tasiotas

Description

@tasiotas

Hi,

nuxt-umami: 2.2.0
nuxt: 3.4.1

Im transitioning from v1 to v2 of this lib, and I cannot get it working in Middleware. I want to call umami endpoint only on certain routes.
I used to do it this way, but now I don't know how to call umTrackView() in middleware.

umami.global.js

const excludedRoutes = [
  'dashboard',
  //
]

export default defineNuxtRouteMiddleware((to, from) => {
  if (excludedRoutes.includes(to.name)) {
    return
  }

  const { $umami } = useNuxtApp()
  $umami.umTrackView(to.href)
})

Getting this error:

Cannot read properties of undefined (reading 'umTrackView')
at ./middleware/umami.global.js:14:10
at fn (./node_modules/nuxt/dist/app/nuxt.js:214:27)
at Object.callAsync (./node_modules/unctx/dist/index.mjs:68:55)
at Module.callWithNuxt (./node_modules/nuxt/dist/app/nuxt.js:216:23)
at ./node_modules/nuxt/dist/pages/runtime/plugins/router.js:120:52
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

Could you please suggest how to limit umami per route or how to call this func in middleware?

Thank you

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions