Требование использования модуля JavaScript Node.js в TypeScript (allowJs 'не задан)

У меня есть приложение Angular2 внутри Electron. Теперь я хотел бы использовать библиотеку @pokusew/pcsclite для использования функций NFC. Эта библиотека использует собственные Node.js модули.

Когда я пытаюсь потребовать библиотеку в моем компоненте, например:

declare var pcsclite: any;
var pcsclite = require('../../../node_modules/@pokusew/pcsclite/');

Я получаю сообщение об ошибке:

ошибка TS6143: модуль "../.." был разрешен "../../lib/pcsclite.js", но "-allowJs" не установлен.

С другой стороны, если я попытаюсь импортировать библиотеку через тег <\ script > - в index.html, я получаю сообщение об ошибке:

Ошибка ZoneAwareError: не удалось найти файл привязок. Пробовал:...

Наконец, если я var pcsclite = require('@pokusew/pcsclite'); в main.js, то он работает, но тогда у меня нет доступа к нему из моего приложения Angular.

Ответ 1

Добавьте параметр allowJs в tsconfig.json следующим образом:
как fabian lauer, также добавьте опцию outDir, чтобы указать, где будут ваши скомпилированные файлы:

{
    "compilerOptions": {
        "outDir": "./built", <--- add this
        "allowJs": true,  <--- and this
        "target": "es5"
    },
    "include": [
        "./src/**/*"
    ]
}