6 javascript c# asp.net-web-api typescript gulp
如我之前的问题所述:
Asp.net web API 2分离Web客户端和Web服务器开发
为了完全分离客户端和服务器,我想设置一个变量来保存客户端请求的终点.在开发客户端时,请求将被发送到返回默认值的"存根服务器",以便可以在不依赖于服务器端开发的情况下开发客户端.该存根服务器在与真实服务器端口不同的一个端口上运行,并且当在服务器和客户端之间运行集成时,在分支集成中,该变量将保存真实服务器端口.
就此而言,我了解到像Gulp这样的构建工具可以帮助我.
我正在使用Tfs源代码控制.
我想要的是,例如,编写一个如下所示的任务:
gulp.task('setEndPoint', function() {
var branchName = // How do I get it?
if (branchName == "Project.Testing")
endPoint = "localhost/2234"
if (branchName == "Project.Production")
endPoint = "localhost/2235"
});
Run Code Online (Sandbox Code Playgroud)
有没有办法让当前分支运行任务?
谢谢你的帮助
与其在脚本内部检查分支,不如使用参数来区分开发版本和产品版本。
你可以使用yargs来实现:
var argv = require('yargs').argv;
gulp.task('setEndPoint', function() {
if (argv.dev)
endPoint = "localhost/2234"
else
endPoint = "localhost/2235"
});
Run Code Online (Sandbox Code Playgroud)
yargs会将脚本的参数绑定到对象的属性:
gulp build --bla
Run Code Online (Sandbox Code Playgroud)
将允许您在 gulp 任务中执行以下操作:
var argv = require('yargs').argv;
if (argv.bla) {
// this line runs
}
Run Code Online (Sandbox Code Playgroud)
这样,如果您gulp build不带参数调用,它不会将dev设置为 true (argv.dev 将是未定义的),并且会选择prod端点。这会发生在 TFS 上,或者当您想要在开发盒上运行真实后端时。
对于无后端开发,您可以调用:gulp build --dev它将选择开发端点。
如果您愿意,可以argv.prod在 TFS 上使用和设置gulp build --prod,因此不传递任何参数将使用存根服务器。
| 归档时间: |
|
| 查看次数: |
596 次 |
| 最近记录: |