gpt4 book ai didi

javascript - Web api - 使用 Gulp 任务动态设置端点地址

转载 作者:数据小太阳 更新时间:2023-10-29 05:32:33 26 4
gpt4 key购买 nike

如我之前的问题所述:

Asp.net web API 2 separation Of Web client and web server development

为了完全分离客户端和服务器,我想设置一个变量来保存客户端请求的终点。当开发客户端时,请求将被发送到一个返回默认值的“ stub 服务器”,这样就可以在不依赖于服务器端开发的情况下开发客户端。该 stub 服务器运行在与真实服务器端口不同的一个端口上,并且在服务器和客户端之间运行集成时,在分支集成中,变量将保存真实服务器端口。

就此而言,我了解到 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"
});

有没有办法获取任务正在运行的当前分支?

感谢帮助

最佳答案

与其在脚本内部检查分支,不如使用参数来区分 dev 构建与 prod 构建。

你可以使用 yargs为此:

var argv = require('yargs').argv;
gulp.task('setEndPoint', function() {
if (argv.dev)
endPoint = "localhost/2234"
else
endPoint = "localhost/2235"
});

yargs 会将脚本的参数绑定(bind)到对象的属性:

gulp build --bla

将允许你在 gulp 任务中进行:

var argv = require('yargs').argv;
if (argv.bla) {
// this line runs
}

有了这个,如果你不带参数调用 gulp build,它不会将 dev 设置为 true(argv.dev 将是未定义的)并且会选择 < em>prod 端点。这将发生在 TFS 上,或者当您想要在您的开发盒上针对真实后端运行时。

对于后端开发,您可以调用:gulp build --dev 它将选择 dev 端点。

如果您愿意,可以使用 argv.prod 并在 TFS 上设置 gulp build --prod,因此不传递参数将使用 stub 服务器.

关于javascript - Web api - 使用 Gulp 任务动态设置端点地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37033524/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com