TypeScript находит импорт, а Chrome + JavaScript - нет - PullRequest
1 голос
/ 12 марта 2020

Я пытаюсь использовать библиотеку TypeScript (в частности, zxing-typcript ).

Мой файл машинописи начинается с:

import * as ZXing from '../../lib/@zxing/library'
// Also happens when importing from '../../lib/@zxing/library/esm' and '../../lib/@zxing/library/esm/index'

Получается * Файл 1050 * содержит дословный импорт. Во всех случаях TypeScript правильно находит .. / .. / lib/@zxing/library/esm/index.d.ts и дает мне правильные ошибки завершения и компиляции, но запускает полученный JavaScript из последней Chrome версии 80.0.3987.132 (официальная сборка) (64-разрядная версия) , я получаю 404 файл с именем library .

Things немного лучше, если я начну файл TypeScript с:

import * as ZXing from '../../lib/@zxing/library/esm/index.js'

, но index. js содержит такие строки, как

export * from './browser/BrowserBarcodeReader';

, относящиеся к . / браузер / BrowserBarcodeReader. js. Опять же, если я go войду в библиотеку и отредактирую index. js, чтобы включить расширение, ситуация продолжит улучшаться, но многие из зависимостей имеют свои собственные зависимости, и у меня возникают похожие проблемы.

Как были index. js и index.d.ts предназначались для использования?

(Надеюсь, этот вопрос не дубликат Требуется ли для импорта / экспорта ES6 расширение ". js"? , поскольку я не могу представить, что план А состоит в том, чтобы изменить настройки сервера для проверки файлов JS.

EDIT: библиотека "@ zxing / library@0.15.2" извлекается из jsdelivr (одного из менеджеров пакетов, предложенного libman в Visual Studio 2019), но я попытался изучить некоторые другие формы библиотеки zxing.

Один из предложенных по этой ссылке дал ошибки C ++ при установке зависимостей (npm install) и ошибки TypeScript при компиляции (ts c), связанные с некоторыми из @types (я узнал Chai и был удивлен такой громкой библиотекой имен давал ошибки).

Мы успешно использовали zxing с прямой JavaScript, включив UMD / index.min. js, имя, указывающее на то, что модуль UMD работает нормально. В каталоге UMD нет определений машинописи, но, возможно, есть способ заставить TypeScript извлечь некоторую информацию о модуле из этого файла JavaScript.

Я новичок во многих из них, поэтому ошибка пользователя не может быть и речи.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...