组件文件夹中的角度图像:让编译器将图像移至资产

时间:2018-11-08 07:50:49

标签: angular

我想使我的组件可移植到其他项目,因此我想将所有图像包含在component文件夹中,并让编译器来处理。

我找到了我都不喜欢的不同解决方案:

1)在angular.json中定义不同的文件夹:

Is it mandatory to keep images in assets folder in Angular 2?

我不喜欢这种方法,因为它需要大量的手工工作。

2)在组件内定义路径变量

Angular 2 img src in a relative path

这种方法会创建很多额外的变量。

我的目标是做某事。像这样

A)与其他所有图像一样引用该图像:

<img *ngIf="images[sensor.model]" [src]="'assets/images/' + images[sensor.model]"/>

B)配置编译器以将映像从所有文件夹移动到资产,例如在我使用gulp的旧AngularJs项目中,这可以通过遍历来完成:

gulp.task('images', function () {
  return gulp.src([paths.src + '/**/*.{jpg,jpeg,png,svg,gif}', '!'+'/**/*/*-sprite*'])
    .pipe($.rename({dirname: ''}))
    .pipe(gulp.dest(paths.dist + '/assets/images/'));
});

可以很容易地实现,仅当图像更改以进行更快的编译时才复制图像:

gulp.watch(paths.src + '/**/*.{jpg,jpeg,png,svg,gif}', ['images']);

问题

是否可以将编译器设置为搜索图像并将其移动到assets/images上,这样会有不利影响(我读到资产是静态的,可以更快地进行编译)。

0 个答案:

没有答案