2017-08-30 2 views
0

In unserem Typoskript 2.3.4 Projekt (ionic2 & eckig 4) mit Visual Code integrieren wir "3D-Carousel" von Drittanbietern. Wir erhalten folgende Fehler:Typoskriptfehler: "Datei kann nicht geschrieben werden, da Eingabedatei überschrieben würde"

Typoskript Fehler kann nicht schreiben Datei ‚/projectfolder/src/assets/js/3d-carousel/FWDUltimate3DCarousel.js‘, weil es Eingabedatei überschreiben würde.

Typoskript Fehler Datei kann nicht schreiben ‚/projectfolder/src/assets/js/3d-carousel/init-3dcarousel.js‘, weil es Eingabedatei überschreiben würde.

Nach der Komponentencode:

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); 
    }); 
} 
} 

Haben alle Vorschläge geprüft wie das Bilden "allowJs": true ohne das Karussell Js Dateien in tsconfig.json Datei. Aktualisierung von Typoskript-Versionen usw. Das Problem besteht weiterhin.

Der Build-Prozess wird manchmal & die App läuft (selten ab und zu), aber die meisten Male stürzt die App als Ergebnis der oben genannten Fehler (d. H. Build-Prozess schlägt bei "transpile gestartet").

Was kann ich tun, um es zu beheben? Danke im Voraus!!

Antwort

0

Wir haben es geschafft, das Problem zu lösen. Eigentlich war die Art, wie wir 3rd-Party-Bibliotheken anriefen, falsch. Unten ist der Code für die Ausgabe benötigt zu beheben:

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> 

Was wir beobachtet haben, war, dass die externen js-Dateien nicht korrekt von Typoskript kompiliert wurden, da wir falsche Ansätze für die Verwendung von Drittanbieter-Bibliotheken in der ionischen App verwendeten.

Verwandte Themen