Ошибка машинописного текста: невозможно записать файл, поскольку он перезапишет входной файл

В нашем проекте typescript 2.3.4 (ionic2 и angular 4) с использованием Visual Code мы интегрируем стороннюю «3D-карусель». Получаем следующие ошибки:

ошибка машинописного текста Невозможно записать файл '/projectfolder/src/assets/js/3d-carousel/FWDUltimate3DCarousel.js', так как это приведет к перезаписи входного файла.

ошибка машинописного текста Невозможно записать файл '/projectfolder/src/assets/js/3d-carousel/init-3dcarousel.js', так как это приведет к перезаписи входного файла.

Ниже приведен код компонента:

import { Component, ElementRef, NgZone } from '@angular/core';
import { Events } from 'ionic-angular';
import '../../../assets/js/3d-carousel/FWDUltimate3DCarousel.js';
import carousel3d from '../../../assets/js/3d-carousel/init-3dcarousel.js';

@Component({
   selector: 'command-3d-Carousel',
   templateUrl: 'Cmd3dCarouselWidget.html'
})
export class Cmd3dCarouselWidget {

constructor(public events: Events, private el: ElementRef, private zone: NgZone) {
}
ngAfterViewInit() {
    this.zone.runOutsideAngular(() => {
    carousel3d(this.el.nativeElement);
    });
}
}

Проверили все предложения, такие как создание «allowJs»: true, за исключением файлов Js карусели в файле tsconfig.json. Обновление версий машинописного текста и т. д. Проблема все еще сохраняется.

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

Что я могу сделать, чтобы исправить это? Заранее спасибо!!


person Krishna PrabhuGaonkar    schedule 30.08.2017    source источник


Ответы (1)


Нам удалось решить проблему. На самом деле то, как мы вызывали сторонние библиотеки, было неправильным. Ниже приведен код, необходимый для устранения проблемы:

MyWidget.ts

import { Component, ElementRef, NgZone } from '@angular/core';
import { Events } from 'ionic-angular';
declare var carouselComponent: any; 

@Component({
  selector: 'command-3d-Carousel',
  templateUrl: 'Cmd3dCarouselWidget.html'
})

export class Cmd3dCarouselWidget {

   constructor(public events: Events, private el: ElementRef, private zone: NgZone) {
}
ngAfterViewInit() {
    this.zone.runOutsideAngular(() => {
    carouselComponent(this.el.nativeElement);
    });
}
}

init-3dcarousel.js

var carouselComponent = function carousel3d(ele) {

carousel = new FWDUltimate3DCarousel({

    //required settings
    carouselHolderDivId: "myDiv",
    carouselDataListDivId: "carouselData",
    displayType: "fluidwidth",
    autoScale: "yes",
    carouselWidth: 940,
    carouselHeight: 538,
    ...
    ...
}

index.html

<!-- Third party scripts for 3D Carousel -->
<script src="assets/js/FWDUltimate3DCarousel.js"></script>
<script src="assets/js/init-3dcarousel.js"></script>

Мы заметили, что внешние js-файлы неправильно компилировались машинописным текстом, поскольку мы использовали неправильный подход для использования сторонних библиотек в ионном приложении.

person Krishna PrabhuGaonkar    schedule 31.08.2017