AngularJS:使用 Gulp 开发和切换后端
AngularJS: Development and switching backends using Gulp
我需要在开发过程中切换我的应用程序服务器后端。当前,服务器作为字符串硬编码在模块中。
我正在寻找使用 gulp.
切换服务器的好方法
我不确定如何实现类似 gulp watch localhost
或 gulp watch devserver
的东西,其中最后一个参数表示后端服务器?
您可能对每个不同的配置都有一个配置文件,例如 dev.constant.js
和 local.constant.js
。
这些文件中的每一个都包含一个 angular 常量来保存您当前的配置,包括您后端的 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.
进行构建和部署,您也可以使用它
我需要在开发过程中切换我的应用程序服务器后端。当前,服务器作为字符串硬编码在模块中。 我正在寻找使用 gulp.
切换服务器的好方法我不确定如何实现类似 gulp watch localhost
或 gulp watch devserver
的东西,其中最后一个参数表示后端服务器?
您可能对每个不同的配置都有一个配置文件,例如 dev.constant.js
和 local.constant.js
。
这些文件中的每一个都包含一个 angular 常量来保存您当前的配置,包括您后端的 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.
进行构建和部署,您也可以使用它