Angular Version 4.3.2Angular 4 „Export 'AnimationEvent' nicht in '@ Winkel/Animationen'
@ Winkel/cli Version 1.2.6
Ich verwende Typoskript (v2.4.2 gefunden wurde) für eine Komponente, die
import {animate, AnimationEvent, state, style, transition, trigger} from '@angular/animations';
ich Warnungen erhalten, die sagen
„export 'AnimationEvent' nicht gefunden wurde '@ Winkel/Animationen' importiert
Die anderen Funktionen (Animation, Status, Stil usw.) lösen keine Warnungen aus. Ich entdeckte, dass die @angular Code in node_modules/@angular/animations.d.ts
export * from './public_api';
und ./public_api.d.ts umfasst hat
export * from './src/animations';
und ./src/animations.d .ts hat
export { AnimationBuilder, AnimationFactory } from './animation_builder';
export { AnimationEvent } from './animation_event';
export { AUTO_STYLE, AnimateChildOptions, AnimateTimings, AnimationAnimateChildMetadata, AnimationAnimateMetadata, AnimationAnimateRefMetadata, AnimationGroupMetadata, AnimationKeyframesSequenceMetadata, AnimationMetadata, AnimationMetadataType, AnimationOptions, AnimationQueryMetadata, AnimationQueryOptions, AnimationReferenceMetadata, AnimationSequenceMetadata, AnimationStaggerMetadata, AnimationStateMetadata, AnimationStyleMetadata, AnimationTransitionMetadata, AnimationTriggerMetadata, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, ɵStyleData } from './animation_metadata';
export { AnimationPlayer, NoopAnimationPlayer } from './players/animation_player';
export * from './private_export';
und ./animation_event.d.ts hat die Schnittstellendefinition
export interface AnimationEvent {
fromState: string;
toState: string;
totalTime: number;
phaseName: string;
element: any;
triggerName: string;
}
Wenn ich die Schnittstellendefinition in meinen Code kopiere, funktioniert alles einwandfrei.
All dies ist ziemlich ähnlich zu vielen anderen importierten, die ich verwendet habe, aber das ist das einzige, das Warnungen generiert.
Wie kann ich diese Warnungen verhindern, ohne die Schnittstellendefinition in meinen Code zu kopieren?
Ich habe BrowserAnimationsModule importiert und alle meine Animationen funktionieren wie erwartet. Abgesehen von den Compiler-Warnungen läuft und funktioniert alles wie erwartet. –
TL; DR Wird behoben, indem tsconfig.js compilerOptions.module von 'es2015' in 'CommonJS' geändert wird. Angenommen, dies muss eine Compilerkonfiguration sein, analysierte ich die Datei systemjs.config.js im Plunker, um sie mit meiner (von Angular CLI generierten) Datei tsconfig.app.json zu vergleichen. Es gab nur zwei Unterschiede: 1) noImplicitAny: true und 2) modul: 'commonjs'. Ich habe beide nacheinander gewechselt.Das TypeScript-Dokument gibt an, dass der Modultyp CommonJS ist, also habe ich das verwendet. Ich hoffe, dass diese Änderung nicht zu anderen Problemen führen wird ... –
https://www.typescriptlang.org/docs/handbook/compiler-options.html --noImplicitAny Fehler bei Ausdrücken und Deklarationen mit einem implizierten 'any' erhöhen ' Art. Das wäre vielleicht nicht notwendig gewesen. Aber froh, dass du es gelöst hast. – JGFMK