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

AngularJS:使用Gulp开发和切换后端,angularjs,gulp,gulp-watch,Angularjs,Gulp,Gulp Watch,我需要在开发过程中切换我的应用服务器后端。目前,服务器在模块中硬编码为字符串。 我在四处寻找一种使用gulp切换服务器的好方法 我不确定如何实现类似于gulp watch localhost或gulp watch devserver,其中最后一个参数表示后端服务器?对于每个不同的配置,您可能都有一个配置文件,例如dev.constant.js和local.constant.js 每个文件都包含一个角度常数,该常数保存当前配置,包括后端的url: angular .module('myFa

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


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

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

每个文件都包含一个角度常数,该常数保存当前配置,包括后端的url:

angular
    .module('myFancyModule')
    .constant('config', {
        backendUrl: 'https://my.backend.com/api/'
    });
使用
yargs
gulp 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进行构建和部署,您也可以将其用于构建和部署。

您的后端使用的是什么?这是一个带有resteasy界面的JBOSS服务器。您可以尝试一下,如果是肯定的,请标记您的答案