是否有任何在运行时可以包含/排除一行JavaScript的吞吐插件。
例如,在我的一个JS文件中,我执行一个HTTP到本地JSON文件:
// 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);
})因此,我很乐意创建两个独立的脚本任务,一个用于本地主机版本,另一个用于.NET。
我可以使用gulp-replace,但我真的不想把代码放在我的gulp.js文件中
发布于 2014-07-04 09:32:44
我会使用类似“胡子”之类的东西来生成您的代码(如:
你的主文件
$http.get('{{action_get_data}}').success(function (data) {
.success(function(data) {
done(data);
})你的吞咽文件:
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:您还可以从配置文件中获取环境数据,如下所示:
var data= require('data.json');data.json
{
"node":{"action_get_data":"path-to-JSON-file.json"}
".NET":{"action_get_data":"/MyData/GetMyDataJson"}
}https://stackoverflow.com/questions/24570970
复制相似问题