Не удалось собрать Nuxt с поддержкой Typescript

Это первый раз, когда я пробую 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.

Проблема:

  1. Файл tsconfig.json не обновляется
  2. И когда я создаю простой файл /pages/test.ts, он не переносится в файл .js.
Зод: сила проверки и преобразования данных
Зод: сила проверки и преобразования данных
Сегодня я хочу познакомить вас с библиотекой Zod и раскрыть некоторые ее особенности, например, возможности валидации и трансформации данных, а также...
Как заставить Remix работать с Mantine и Cloudflare Pages/Workers
Как заставить Remix работать с Mantine и Cloudflare Pages/Workers
Мне нравится библиотека Mantine Component , но заставить ее работать без проблем с Remix бывает непросто.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
TypeScript против JavaScript
TypeScript против JavaScript
TypeScript vs JavaScript - в чем различия и какой из них выбрать?
Синхронизация localStorage в масштабах всего приложения с помощью пользовательского реактивного хука useLocalStorage
Синхронизация localStorage в масштабах всего приложения с помощью пользовательского реактивного хука useLocalStorage
Не все нужно хранить на стороне сервера. Иногда все, что вам нужно, это постоянное хранилище на стороне клиента для хранения уникальных для клиента...
Что такое ленивая загрузка в Angular и как ее применять
Что такое ленивая загрузка в Angular и как ее применять
Ленивая загрузка - это техника, используемая в Angular для повышения производительности приложения путем загрузки модулей только тогда, когда они...
0
0
791
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблем немного. Сначала вы пропустили установку ts-node.

Также создайте пустой файл tsconfig.json без содержимого. Документы были обновлены и упоминаются там. Это должно исправить ваши проблемы

Обе проблемы сохраняются. tsconfig.json не обновляется, а /pages/test.ts не переносится в файл .js. Теперь я также получаю новую ошибку «ReferenceError: окно не определено», которая, вероятно, исходит из библиотеки Vuetify. Предложение: create-nuxt-app должен иметь возможность выбирать между сборками ts и js, как это имеет vue-cli.

Besto 09.04.2019 19:56

@Besto Я пробовал, и с пустым tsconfig он обновляется. Проверьте еще раз

Aldarund 09.04.2019 20:03

Да, он создает tsconfig, когда я пробовал без других параметров в приложении create-nuxt. Затем я пробовал различные другие комбинации. Проблема возникает, когда мы выбираем Express в качестве нашего собственного сервера. Однако даже когда создается tsconfig, я не вижу, чтобы файл .ts был перенесен в файл .js.

Besto 10.04.2019 08:03

Страницы @Besto должны быть файлами vue, а не ts, см. следующие примеры github.com/nuxt/nuxt.js/blob/dev/examples/typescript/pages/…

Aldarund 10.04.2019 11:20

Ой! Я думал, что, поскольку мы используем webpack в nuxt, он автоматически преобразует ВСЕ файлы ts в js, а затем позволит нам импортировать эти файлы js в наши шаблоны vue перед созданием пакетов. Не могли бы вы показать мне, как этого добиться.

Besto 10.04.2019 16:35

@ Лучше всего это произойдет, если вы импортируете из файла ts. Таким образом, он перехватывает только те файлы, которые используются. Если вы просто создадите файл ts и нигде его не используете, он не будет транслирован и упакован.

Aldarund 10.04.2019 16:52

Как было предложено в этом ответе, yarn add --dev ts-node исправил это для меня.

Justin Tilson 30.12.2019 23:55

Другие вопросы по теме