Да, вы можете заставить Nuxt dev server отслеживать и компилировать TypeScript (ts) файлы. Для этого нужно выполнить несколько шагов:
1. Установите необходимые пакеты:
npm install --save-dev typescript @nuxt/typescript-build
2. Создайте файл tsconfig.json
в корневой директории вашего проекта со следующим содержимым:
{ "compilerOptions": { "target": "esnext", "module": "esnext", "moduleResolution": "node", "lib": ["esnext", "esnext.asynciterable"], "esModuleInterop": true, "allowJs": true, "sourceMap": true, "strict": true, "noImplicitAny": false, "strictNullChecks": true, "allowSyntheticDefaultImports": true, "baseUrl": ".", "paths": { "~/*": ["./*"] }, "types": ["@types/node", "@nuxt/types"] }, "exclude": ["node_modules"] }
3. В файле nuxt.config.js
добавьте следующую конфигурацию для TypeScript:
export default { buildModules: ['@nuxt/typescript-build'] }
4. Теперь все ваши файлы с расширением .ts
или .tsx
будут отслеживаться и компилироваться при запуске команды nuxt dev
.
5. (Опционально) Если вы хотите использовать декораторы TypeScript, вам потребуется установить дополнительные пакеты. Добавьте следующую зависимость к вашему проекту:
npm install --save-dev @babel/plugin-proposal-decorators
После этого, в файле nuxt.config.js
добавьте следующую конфигурацию для Babel:
export default { buildModules: ['@nuxt/typescript-build'], babel: { plugins: [ ['@babel/plugin-proposal-decorators', { legacy: true }] ] } }
Теперь вы можете использовать декораторы в ваших TypeScript файлами.
Это все, теперь ваш Nuxt dev server будет отслеживать и компилировать ваши TypeScript файлы. Учтите, что если у вас есть уже существующий проект Nuxt, вы должны будете выполнить nuxt dev
снова после проведения вышеперечисленных действий, чтобы TypeScript был скомпилирован.