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

AngularJS: Development and switching backends using Gulp

我需要在开发过程中切换我的应用程序服务器后端。当前,服务器作为字符串硬编码在模块中。 我正在寻找使用 gulp.

切换服务器的好方法

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

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

这些文件中的每一个都包含一个 angular 常量来保存您当前的配置,包括您后端的 url:

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.

进行构建和部署,您也可以使用它