typescript icon indicating copy to clipboard operation
typescript copied to clipboard

this.$nuxt is undefined in component in module

Open dvdmlln opened this issue 4 years ago • 0 comments

Describe the bug When creating a component within a module, this.$nuxt is undefined in the component when using Options API (Vue.extend) or Class API (@Component). Defining the component using export default {...} everything works as expected.

To Reproduce Steps to reproduce the behavior:

  1. Create a module with a component
  2. Use TypeScript for component with Options API or Class API
  3. Try to access this.$nuxt -> undefined

EDIT: Problem occurs only when Module is in a local package outside the project folder.

With this folder structure, TestComponent.vue cannot use Options or Class API:

├── Test-Module/
│   └── components/
│       └── TestComponent.vue
└── Nuxt-Project/
    └── nuxt.config.js

This on the other hand works:

└── Nuxt-Project/
    ├── modules/
    │   └── Test-Module/
    │       └── components/
    │           └── TestComponent.vue
    └── nuxt.config.js

When I use npm pack and then install the tgz as a dependency in the nuxt project it works as well.

dvdmlln avatar Apr 21 '21 12:04 dvdmlln