Это первый раз, когда я пробую Typescript с Nuxt (v 2.6.1). У меня есть новая сборка с create-nuxt-app, и я следовал официальному руководству по Поддержка машинописного текста.
npx create-nuxt-app first-app
cd first-app
npm install -D @nuxt/typescript
echo "{}" > tsconfig.json
npm run dev
Далее в руководстве Typescript говорится:
INFO: The presence of the tsconfig.json in your project lets Nuxt.js know you're running a TypeScript project.
This file will be automatically updated with defaults value the first time you're running nuxt command.
Проблема:
Проблем немного. Сначала вы пропустили установку ts-node
.
Также создайте пустой файл tsconfig.json без содержимого. Документы были обновлены и упоминаются там. Это должно исправить ваши проблемы
@Besto Я пробовал, и с пустым tsconfig он обновляется. Проверьте еще раз
Да, он создает tsconfig, когда я пробовал без других параметров в приложении create-nuxt. Затем я пробовал различные другие комбинации. Проблема возникает, когда мы выбираем Express в качестве нашего собственного сервера. Однако даже когда создается tsconfig, я не вижу, чтобы файл .ts был перенесен в файл .js.
Страницы @Besto должны быть файлами vue, а не ts, см. следующие примеры github.com/nuxt/nuxt.js/blob/dev/examples/typescript/pages/…
Ой! Я думал, что, поскольку мы используем webpack в nuxt, он автоматически преобразует ВСЕ файлы ts в js, а затем позволит нам импортировать эти файлы js в наши шаблоны vue перед созданием пакетов. Не могли бы вы показать мне, как этого добиться.
@ Лучше всего это произойдет, если вы импортируете из файла ts. Таким образом, он перехватывает только те файлы, которые используются. Если вы просто создадите файл ts и нигде его не используете, он не будет транслирован и упакован.
Как было предложено в этом ответе, yarn add --dev ts-node
исправил это для меня.
Обе проблемы сохраняются. tsconfig.json не обновляется, а /pages/test.ts не переносится в файл .js. Теперь я также получаю новую ошибку «ReferenceError: окно не определено», которая, вероятно, исходит из библиотеки Vuetify. Предложение: create-nuxt-app должен иметь возможность выбирать между сборками ts и js, как это имеет vue-cli.