Ошибка TS2304: не удается найти имя 'ImageCapture' и уже установленный @ types / w3c-image-capture - PullRequest
0 голосов
/ 04 июля 2019

Я разрабатываю PWA с Ionic 4 и Angular 7.

Мне нужно получить доступ к веб-камере, если она существует, и затем отобразить на холсте. В этом процессе я использую ImageCapture (https://developer.mozilla.org/en-US/docs/Web/API/ImageCapture).

let constrains = 
{
        audio:false,
        video: 
        {
            frameRate: { ideal: 60, min: 30 },
            facingMode: { ideal: "user" },
            width:  { exact: 626 },
            height: { exact: 720 },
        }
}    

navigator.mediaDevices.getUserMedia(constrains).then(mediaStream => 
{
        this.Webcam.nativeElement.srcObject = mediaStream;

        this.Webcam.nativeElement.play();

        const track = mediaStream.getVideoTracks()[0];

        let ic:ImageCapture = new ImageCapture(track);

        return this.ImageCapture.getPhotoCapabilities();
});

Я получил ошибку, потому что TypeScript ничего не знал о ImageCapture, поэтому я установил наборы, добавив их в мой пакет.json:

npm install --save-dev @types/w3c-image-capture

При сборке приложения с "ionic serve" или "ionic build --prod" я получаю эту ошибку:

ОШИБКА в src / app / pages / photoframe / photoframe-take / photoframe-take.page.ts (26,22): ошибка TS2304: не удается найти имя 'ImageCapture'. src / app / pages / photoframe / photoframe-take / photoframe-take.page.ts (117,28): ошибка TS2663: не удается найти имя 'ImageCapture'. Вы имели в виду элемент экземпляра this.ImageCapture?

Если я отлаживаю приложение, значение ImageCapture имеет значение, так что проблема только в сборке.

Как я могу удалить эту ошибку из моей сборки?

1 Ответ

0 голосов
/ 17 июля 2019

Я не знаю, работает ли он с Ionic, но я обнаружил, что если вы добавите ваши типы в tsconfig.app.json в свойстве types, он будет распознан Angular:

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "types": [
      "../node_modules/@types/w3c-image-capture"
    ]
  },
  "exclude": [
    "test.ts",
    "**/*.spec.ts",
    "**/tests/**/*.ts"
  ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...