N
Nuxt4d ago
Melvin

Defining props through typescript requires full dev server restart on change

Does anyone know if I need to configure our Nuxt application differently when using Typescript to define the props of a component?
const props = withDefaults(defineProps<TableProps<T>>(), {
mayOrderColumns: false,
striped: false,
bordered: false,
hover: false,
});
const props = withDefaults(defineProps<TableProps<T>>(), {
mayOrderColumns: false,
striped: false,
bordered: false,
hover: false,
});
Now, when I add, rename or remove a prop in the TableProps interface I have to restart the whole dev server in order for the prop to be correctly noticed by Vue...
2 Replies
kapa.ai
kapa.ai4d ago
Hi @Melvin. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave: ---------------------- Based on the knowledge sources provided, there isn't specific information addressing the need to restart the dev server when changing TypeScript prop definitions in Nuxt. However, I can provide some relevant information and suggestions: 1. Nuxt has built-in TypeScript support, and you're using the correct syntax for defining props with TypeScript in a Vue component. 2. Hot Module Replacement (HMR) should typically handle changes to component props without requiring a full server restart. However, there are cases where HMR might not work as expected. 3. To potentially improve HMR behavior, you could try the following: a. Ensure you're using the latest version of Nuxt, as newer versions may have improved TypeScript and HMR support. b. Check your nuxt.config.ts file and make sure you haven't disabled any TypeScript-related features. For example, ensure you have typescript: true in your configuration if you're using Nuxt Bridge, as mentioned in the Nuxt Bridge TypeScript documentation (https://nuxt.com/docs/bridge/typescript). c. You might want to try enabling the watch option in your Nuxt configuration to see if it helps with detecting changes:
export default defineNuxtConfig({
watch: ['~/components/**/*.ts', '~/components/**/*.vue']
})

export default defineNuxtConfig({
watch: ['~/components/**/*.ts', '~/components/**/*.vue']
})

This suggestion is based on the Nuxt Configuration documentation (https://nuxt.com/docs/api/nuxt-config#watch), although it's not specifically for TypeScript prop changes. 4. If the issue persists, it might be worth checking for any reported issues or discussions in the Nuxt GitHub repository, as this could be a known limitation or bug with TypeScript prop definitions and HMR. Remember that while these suggestions might help, the knowledge sources don't provide a definitive solution to your specific problem. If the issue continues, you may want to reach out to the Nuxt community or file an issue on the Nuxt GitHub repository for more targeted assistance. ---------------------- Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: ----------------------
kapa.ai
kapa.ai4d ago
<@1148158945530216478> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
Want results from more Discord servers?
Add your server