打字稿错误:“无法写入文件,因为它会覆盖输入文件”[复制]

问题描述 投票:0回答:1

在使用Visual Code的我们的打字稿2.3.4项目(离子2和角4)中,我们正在整合第三方“3D-Carousel”。我们收到以下错误:

typescript错误无法写入文件'/projectfolder/src/assets/js/3d-carousel/FWDUltimate3DCarousel.js',因为它会覆盖输入文件。

typescript error无法写入文件'/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,不包括tsconfig.json文件中的轮播Js文件。更新打字稿版本等问题仍然存在。

构建过程有时完成并且应用程序运行(很少偶尔),但是大多数时候应用程序因上述错误而崩溃(即构建过程在“transpile started”失败)。

我能做些什么来解决它?提前致谢!!

angular typescript ionic2 typescript2.0
1个回答
0
投票

我们确实设法解决了这个问题。实际上我们称第三方图书馆的方式是错误的。以下是要修复的问题所需的代码:

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文件没有被typescript正确编译,因为我们在离子应用程序中使用错误的方法来使用第三方lib。

© www.soinside.com 2019 - 2024. All rights reserved.