Как использовать Pug в Nuxt 3.x?
Если мы создадим приложение Nuxt3 с помощью
npx nuxi init nuxt3-app
и изменить содержание
app.vue
от
<template>
<div>
<NuxtWelcome />
</div>
</template>
к
<template lang="pug">
div
NuxtWelcome
</template>
мы получим
ERROR [unhandledRejection] Cannot find module 'pug' 17:05:54
Require stack:
- D:\IntelliJ IDEA\Experiments\nuxt3-app\node_modules\@vue\compiler-sfc\dist\compiler-sfc.cjs.js
- D:\IntelliJ IDEA\Experiments\nuxt3-app\node_modules\vue\compiler-sfc\index.js
- D:\IntelliJ IDEA\Experiments\nuxt3-app\node_modules\@vitejs\plugin-vue\dist\index.js
Я не ожидал встроенной поддержки Pug, но также нет подсказки, как ее обеспечить.
При настройке Nuxt3 по умолчанию AFAIK использует Vite вместо Webpack. Может быть, ответ в переопределении настройки Vite?
2 ответа
Для Вите:
- Установите vite-plugin-pug. Vite определяет это автоматически.
- Перезапустите сборку приложения
И будьте осторожны с этой ошибкой .
Я знаю, что прошло уже больше года с момента этого вопроса, но недавно у меня возник тот же вопрос, и я нашел более простое решение.
Вы можете просто установитьpug
и это сработает. Нет необходимости в каких-либо плагинах или других дополнительных конфигурациях.
На всякий случай: я используюNuxt@3.6.5
иPug@3.0.2
UPD: На самом деле нужна небольшая настройка. В основном для поддержки IDE. Вам также следует добавить@vue/language-plugin-pug
и расширить свойtsconfig.json
сvueCompilerOptions
как показано ниже:
{
// https://nuxt.com/docs/guide/concepts/typescript
"extends": "./.nuxt/tsconfig.json",
"vueCompilerOptions": {
"plugins": ["@vue/language-plugin-pug"]
}
}