用Gulp-Replace替换打字稿中的字符串



我正在尝试使用Gulp-Replace任务将构建版本插入我的Angular 2组件文件中。我正在从过程变量process.env.npm_package_version中检索构建版本。这部分正在起作用,因为我能够将值记录到控制台并获取预期值。但是,我任务的大量替代部分是行不通的。我正在执行replace任务。

任务:

const replace = require('gulp-replace');
gulp.task('replace', () => {
    let version = `${process.env.npm_package_version}`;
    gulp.src('src/app/app.component.ts')
        .pipe(replace('buildVersion', version))
        .pipe(gulp.dest('./'));
});

来源:

import { Component, OnInit } from '@angular/core';
@Component({
    selector: 'my-app',
    templateUrl: './app/app.component.html',
    styleUrls: ['./app/app.component.css']
})
export class AppComponent implements OnInit {
    constructor() {}
    ngOnInit() {}
    app = { version: "buildVersion", currentYear: new Date().getFullYear() };
}

gulp dest是错误的。很高兴它是固定的。

顺便说一句,如果您的意图是:

1-复制到构建文件夹

一切都很好,工作完成,但是如果您的意图是:

2-覆盖原始

那么,您的逻辑将在第二次回合时无法使用,您将替换字符串" buildersion",在这种情况下,您可能需要在诸如/ d d d。 d。 d d d。D/

然后您的原始文件中的构建器可以是:

00.00.00

然后将其替换为:

01.01.44

正则表达式仍将在第二轮工作。

我提到的原因是因为您提到的是目的地相对于来源,这向我覆盖了。

相关内容

  • 没有找到相关文章

最新更新