1

所以我建立了我的第一个自定义角度库(在幕后使用 ng-packagr)。不幸的是,我构建的库包含到我的本地机器的相对路径,这显然对其他人不起作用。

我创建了一个示例应用程序来测试自定义库。

mya.animations.ts

import {animate, state, style, transition, trigger} from '@angular/animations';


export const FLYOUT_ANIMATIONS = trigger('slideContent', [
  state('void', style({transform: 'translate3d(0, 0, 0)', opacity: 0})),
  state('enter_TOP', style({transform: 'none', opacity: 1})),
  state('leave_TOP', style({transform: 'translate3d(0, -25%, 0)', opacity: 0})),
  transition('* => *', animate(ANIMATION_TIMINGS))
]);

export const CARET_ANIMATIONS = trigger('rotateCaret', [
  state('open', style({transform: 'rotate(180deg)'})),
  state('closed', style({transform: 'rotate(0)'})),
  transition('* => *', animate(ANIMATION_TIMINGS))
]);

因此,在构建时会生成一个名为mya.animations.d.ts的文件。不幸的是,其他任何人都无法解决这些路径。

export declare const EXPAND_COLLAPSE_ANIMATIONS: import("../../../../../../../../../../Users/mya/Development/mya-angular-libraries/node_modules/@angular/animations/src/animation_metadata").AnimationTriggerMetadata;

export declare const CARET_ANIMATIONS: import("../../../../../../../../../../Users/mya/Development/mya-angular-libraries/node_modules/@angular/animations/src/animation_metadata").AnimationTriggerMetadata;

在我的组件中,我只是通过以下方式导入这些动画

@Component({
...
animations: [CARET_ANIMATIONS]
...
})

我不确定我在这里做错了什么。非常感谢您的帮助:)

4

1 回答 1

0

你在哪里使用这些路径?只需将代码段粘贴到您正在使用的位置即可。

当您使用在构造函数之外定义的变量时,通常会发生这种情况。

于 2018-10-12T07:47:28.710 回答