Parcel — Как добавить определения типов?

Я пытаюсь импортировать файл .png в свой проект Typescript, но модуль не может быть найден. Я использую Parcel в качестве компилятора и хочу добавить определения типов. Как мне сделать это конкретно для Parcel, потому что я не смог найти никакой информации об этом?


person Mike Ottink    schedule 26.11.2019    source источник
comment
посылка вызывает компилятор машинописного текста, который, в свою очередь, настраивается с помощью файла tsconfig.json. Там вы можете отредактировать пути к файлам определений типов. Я не уверен, какое это имеет отношение к файлу .png, хотя   -  person lhk    schedule 26.11.2019


Ответы (2)


Parcel использует компилятор машинописного текста, который настраивается с помощью tsconfig.json. Соответствующую документацию можно найти здесь

Среди прочего конфиг позволяет указать исходные файлы для компиляции. Следующая конфигурация будет допустимой, все файлы .ts и .d.ts в пути src будут обработаны компилятором:

{
    "include": [
        "src/**/*"
    ]
}

В дополнение к этому, многие модули узлов поставляются с определениями машинописного текста. Они обрабатываются этим правилом. :

По умолчанию все видимые пакеты «@types» включены в вашу компиляцию. Пакеты в node_modules/@types любой вложенной папки считаются видимыми; в частности, это означает пакеты внутри ./node_modules/@types/, ../node_modules/@types/, ../../node_modules/@types/ и так далее.

Если модуль, который должен обрабатывать файл .png, не может быть найден, это, вероятно, потому, что он не поставляется с определениями машинописного текста из коробки. Существует репозиторий, в котором собраны определения типов для многих узловых модулей. Может быть, вы найдете определения там. Может быть, это?

Есть также пример установки определений.

Также возможно, что для этого модуля еще не существует определений типов. В этом случае вам придется придумать свой собственный. Это не обязательно так плохо, как кажется. Часто вы можете создать минимальный файл объявления, который охватывает только несколько методов, которые вы фактически используете. Вот документы по этому вопросу. Примеры.

ИЗМЕНИТЬ:

Забыл упомянуть: похоже, это не связано с Parcel. Под капотом Parcel просто вызывает компилятор машинописного текста. Устранение посредника может сделать сообщения об ошибках более понятными. Возможно, вы захотите попробовать вызвать компилятор машинописного текста напрямую и настроить его до тех пор, пока не будут обработаны все ошибки и предупреждения. Это будет более прямым и скроет дополнительную сложность Parcel. Если компилятор машинописного текста доволен, Parcel тоже должен работать.

person lhk    schedule 26.11.2019
comment
Как мне вызвать компилятор машинописного текста напрямую, чтобы настроить его? Я новичок в этом, поэтому то, что вы только что сказали, для меня ракетостроение. - person Mike Ottink; 12.12.2019

Решил это, добавив globals.d.ts в проект с declare module "*.png"; в нем.

person Mike Ottink    schedule 27.11.2019
comment
На самом деле это не решение, а просто хак для отключения проверки типов. Вы уверены, что нет подходящих определений. Например, такие как: типы/ - person lhk; 29.11.2019
comment
Если я устанавливаю пакет, ничего не происходит, даже если он имеет тип png. Должен ли я добавить что-то в свой tsconfig?› - person Mike Ottink; 12.12.2019
comment
Опубликован новый вопрос устанавливать новые типы"> stackoverflow.com/questions/59311324/ - person Mike Ottink; 12.12.2019