首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据任务运行包含/排除JS代码行的Gulp插件

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

Stack Overflow用户
提问于 2014-07-04 09:25:42
回答 1查看 103关注 0票数 1

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

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

代码语言:javascript
复制
// To be used for localhost
$http.get('path-to-JSON-file.json')
    .success(function (data) {
        done(data);
    })

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

代码语言:javascript
复制
// To be used for .NET
$http.get('/MyData/GetMyDataJson').success(function (data) {
    .success(function (data) {
        done(data);
    })

因此,我很乐意创建两个独立的脚本任务,一个用于本地主机版本,另一个用于.NET。

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

EN

回答 1

Stack Overflow用户

发布于 2014-07-04 09:32:44

我会使用类似“胡子”之类的东西来生成您的代码(如:

你的主文件

代码语言:javascript
复制
$http.get('{{action_get_data}}').success(function (data) {
    .success(function(data) { 
        done(data);
})

你的吞咽文件:

代码语言:javascript
复制
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中填充一个数组,每次都要等待编译。

您还可以使用相同的代码基,只对环境的不同版本之间的变化使用变量。

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

代码语言:javascript
复制
var data= require('data.json');

data.json

代码语言:javascript
复制
{
    "node":{"action_get_data":"path-to-JSON-file.json"}
    ".NET":{"action_get_data":"/MyData/GetMyDataJson"}
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24570970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档