Nano Hash - криптовалюты, майнинг, программирование

tsc compile в React (create-react-app) требует явных флагов компиляции, хотя я установил их в tsconfig.json

Сначала я инициализировал реагирующее приложение с помощью create-react-app, а затем добавил к нему машинописный текст с помощью yarn add typescript @types/node @types/react @types/react-dom @types/jest. Я инициализировал tsconfig.json со значениями по умолчанию:

{
  "compilerOptions": {
    "target": "es5",
    "module": "esnext",
    "allowJs": true,
    "jsx": "react-jsx",
    "sourceMap": true,
    "outDir": "./dist",
    "noEmit": true,
    "isolatedModules": true,
    "strict": true,
    "moduleResolution": "node",
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    "noFallthroughCasesInSwitch": true,
    "resolveJsonModule": true
  },
  "exclude": [
    "node_modules",
    "**/*.spec.ts"
  ],
  "include": [
    "./src/**/*.tsx"
  ]
}

Если я попытаюсь скомпилировать отдельные файлы, такие как tsc App.tsx, я получаю сообщение об ошибке, говорящее, что мне нужно использовать флаг --jsx и флаг --esModuleInterop. Но я уже установил их в tsconfig.json, почему я должен явно указывать их в командной строке? Это работает только так: tsc index.tsx --jsx preserve --esModuleInterOp Но почему?


Ответы:


1

Из документов:

tsc index.ts

выдает JS только для index.ts с настройками компилятора по умолчанию (не tsconfig проекта)

И вы не можете указать файлы для компиляции и файл tsconfig в интерфейсе командной строки:

tsc index.ts tsconfig.json // NOT ALLOWED

Итак, если вы используете CLI для компиляции только одного или нескольких файлов, вы должны указать параметры (в данном случае jsx и esModuleInterOp) или создайте новый файл tsconfig, расширяющий существующий, и добавьте в него свой файл.

13.05.2021
  • хорошо, спасибо, а в каких случаях мой tsconfig.json будет применяться, когда я компилирую весь свой проект? или все же в каком случае? 13.05.2021
  • Насколько я понимаю ваш вопрос, сначала вы настраиваете проект React с помощью CRA. Затем вы добавили машинописный текст. Итак, теперь вы можете запустить команду npm run build или yarn build для создания сборки React, и файл tsconfig будет автоматически использоваться (с помощью сценариев реагирования и веб-пакета) при сборке проекта. Вы хотите что-то еще, кроме этого? 13.05.2021
  • См. TypeScript tsc ничего не отвечает. Если вы хотите увидеть JS-файлы, скомпилированные с помощью tsconfig (в целях обучения), вам необходимо удалить noEmit из файла tsconfig или установите для него значение false. 13.05.2021
  • в каких случаях мой tsconfig.json будет применяться при компиляции всего моего проекта?: Просто запустите команду: tsc и она найдет и использует файл tsconfig. Или сделайте tsc --project tsconfig.json. 13.05.2021
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..