用gulp替换变量

Replace variables with gulp

本文关键字:变量 替换 gulp      更新时间:2023-09-26

src目录中用gulp-replace替换变量是好方法吗?

我有srcbuild目录。在src中,我正在编写es6 JS代码,应该编译并缩小到build目录。

src目录我有angular配置文件。

$routeProvider
    .when('/', {
        controller: 'HomeController',
        controllerAs: 'HomeCtrl',
        templateUrl: '/BUILD_DIR/app/partials/home.html'
    })

在构建过程中,gulp-replace会将所有文件中的BUILD_DIR var替换为合适的目录名,在我们的例子中是build

是否可以在未编译的js代码中编写这些变量?如果没有,如何用另一种方式处理?

没关系,只要你确定不会有副作用(你在所有文件中提到,这对我来说是有风险的)。最好列出您想要替换的文件,以确保它不会替换您不想要的东西。例如

gulp.task('replace', function() {
    var required_files = [
        '/src/js/app.js',
        '/src/js/controllers.js'
    ];
    return gulp.src(required_files, {base: '/src'})
         .pipe(Useref())//replacements here
         .pipe(gulp.dest('/build'));
});
不是

gulp.task('replace', function() {
    return gulp.src('/src/*.*')
         .pipe(Useref())//replacements here
         .pipe(gulp.dest('/build'));
});