Javascript 用gulp替换变量

Javascript 用gulp替换变量,javascript,gulp,Javascript,Gulp,在src目录中用gulpreplace替换变量是一种好方法吗 我有src和build目录。在src中,我正在编写ES6JS代码,该代码应该编译并缩小到build目录中 在src目录中,我有一个角度配置文件 $routeProvider .when('/', { controller: 'HomeController', controllerAs: 'HomeCtrl', templateUrl: '/BUILD_DIR/app/partia

src
目录中用gulpreplace替换变量是一种好方法吗

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

src
目录中,我有一个角度配置文件

$routeProvider
    .when('/', {
        controller: 'HomeController',
        controllerAs: 'HomeCtrl',
        templateUrl: '/BUILD_DIR/app/partials/home.html'
    })
在构建过程中,gulp replace将用适当的目录名替换所有文件中的BUILD_DIR var,在我们的例子中是
BUILD


在未编译的js代码中编写这样的变量可以吗?如果没有,怎么用另一种方法处理呢?

没关系,只要你确定不会有副作用(你在所有文件中都提到过,这对我来说很危险)。你最好列出你想替换的文件,以确保它不会替换你不想要的东西。e、 g

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'));
});

不是真的。定义路由的文件也应该在build目录中。因此,更改路径没有任何意义。此文件也在build dir中。但是已经替换了BUILD_DIR。不过有一个问题。。。您是否从src目录测试代码?最好运行一个gulpwatch并始终推送到build/dest目录,这样就不需要替换了。它就是这样工作的。因此,本质上,在浏览器中,我正在使用builddir中的代码。在src中,我只写了code.oops,我又来了。如果我下面的回答对你来说很酷,你能把它标记为接受吗?问题显示了一个答案,但没有一个被接受,所以我打开了它,忘记了我以前已经回答过。是的,我们有一个列表,列出了所有要替换的文件。Useref()做什么?@Notflip您可以在这里阅读更多有关它的信息: