如果您尚未解决此问题,则可以使用gulp-replace。例如,假设您有一个从/src
读取的构建任务,请将您的JavaScript缩小并将其输出到/dist
。你可以管你的JavaScript源replace()
(第一个参数是发展的URL,第二个参数是你的生产网址):
var gulp = require('gulp');
var path = require('path');
var jsmin = require('gulp-jsmin');
var replace = require('gulp-replace');
var SOURCE = 'src';
var BUILD = 'dist';
var URL = 'http://www.whatever.com/api';
gulp.task('build', function() {
return gulp.src(path.join(SOURCE, '**/*.js'))
.pipe(jsmin())
.pipe(replace('http://localhost:3000/api', URL))
.pipe(gulp.dest(BUILD))
});
如果你有一个文件./src/script.js
,做一个简单的jQuery AJAX请求,见前后效果如下。
$.get('http://localhost:3000/api', function (data) {
console.log(data);
});
以前(忽略缩小)后
$.get('http://www.whatever.com/api', function (data) {
console.log(data);
});
特别是在运行之前,一饮而尽你修改什么?你正在运行一个节点服务器?静态网站? – Himmel
对不起 - 措辞不佳。我更新了这个问题。 – Cyph
我做了一些研究,似乎没有一个伟大的,简单的解决方案。最后,我决定改变网址的位置。幸运的是,在我的情况下,这个JS从标签中被调用。所以我将URL设置为标记中全局变量的一部分,并且让JS文件引用全局变量。现在URL负载被设置为两个由调用HTML/JS控制。 – Cyph