gpt4 book ai didi

javascript - Gulp 插件根据运行的任务包含/排除 JS 代码行

转载 作者:行者123 更新时间:2023-11-28 01:09:59 25 4
gpt4 key购买 nike

是否有任何 gulp 插件在运行时可以包含/排除一行 JavaScript。

例如,在我的一个 JS 文件中,我对本地 JSON 文件执行 HTTP GET:

// To be used for localhost
$http.get('path-to-JSON-file.json')
.success(function (data) {
done(data);
})

但是当我移动到 .NET 服务器时,我需要这是对方法的调用:

// To be used for .NET
$http.get('/MyData/GetMyDataJson').success(function (data) {
.success(function (data) {
done(data);
})

因此,我很高兴创建 2 个单独的脚本任务,一个用于 localhost 版本,另一个用于 .NET。

我可以使用gulp-replace,但我真的不想将代码放在我的 gulp.js 文件中

最佳答案

我会使用 Mustache 之类的东西来生成您的代码,例如这样的东西:

您的主文件

$http.get('{{action_get_data}}').success(function (data) {
.success(function(data) {
done(data);
})

你的 gulp 文件:

var env="node";

var data={
"node":{"action_get_data":"path-to-JSON-file.json"}
".NET":{"action_get_data":"/MyData/GetMyDataJson"}
};

gulp.src("./templates/*.mustache")
.pipe(mustache(data[env]))
.pipe(gulp.dest("./dist"));

注意:但是,这样做有一点开销:您需要在文件中声明变量,在 gulpfile 中填充一个数组,每次都等待编译。

您还可以使用相同的代码库,并仅使用变量来表示不同版本环境之间发生的变化。

注意2:您还可以从配置文件中获取环境数据,如下所示:

var data= require('data.json');

data.json

{
"node":{"action_get_data":"path-to-JSON-file.json"}
".NET":{"action_get_data":"/MyData/GetMyDataJson"}
}

关于javascript - Gulp 插件根据运行的任务包含/排除 JS 代码行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24570970/

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