AngularJS:使用Gulp开发和切换后端

时间:2015-09-17 13:22:46

标签: angularjs gulp gulp-watch

我需要在开发期间切换应用程序服务器后端。目前,服务器在模块中被硬编码为字符串。 我正在寻找一种使用gulp切换服务器的好方法。

我不确定如何实现类似gulp watch localhostgulp watch devserver的内容,其中最后一个参数表示后端服务器?

1 个答案:

答案 0 :(得分:2)

您可能拥有每个不同配置的配置文件,例如dev.constant.jslocal.constant.js

这些文件中的每一个都包含一个角度常量,它保​​存您当前的配置,包括您的后端网址:

angular
    .module('myFancyModule')
    .constant('config', {
        backendUrl: 'https://my.backend.com/api/'
    });

使用yargsgulp-if,您可以检查是否设置了标记(例如--dev),并使用gulp-add-src将相应的配置文件添加到流中。

另一种更安全的方法是将特定配置文件复制到名为config.constant.js的文件中。

var argv = require('yargs').argv;
var fs = require('fs-extra');

gulp.task('watch', function() {
    if(argv.dev) {
        fs.copySync('./config/dev.constant.js', './config.constant.js');
    }

    //Your watch task here
}

这样做,您可以非常快速,轻松地更改配置。如果您通过gulp进行构建和部署,也可以将它用于构建和部署。