Javascript 停止创建main.js的开发和生产版本的任务

Javascript 停止创建main.js的开发和生产版本的任务,javascript,requirejs,gulp,Javascript,Requirejs,Gulp,我是Gulp新手,一直在使用Gulp minify和Gulp uglify通过Gulp requirejs创建一个完整的main.js文件 但是,我需要创建这个main.js文件的两个版本,一个用于我的开发环境,另一个用于PROD 原因是,在一些.js文件中,我列出了URL,例如: currentPage == '/products/chairs.html' 但是,当将这些html文件移动到my.Net结构中时,实际URL为: currentPage == 'goodsandservices/

我是Gulp新手,一直在使用
Gulp minify
Gulp uglify
通过
Gulp requirejs
创建一个完整的main.js文件

但是,我需要创建这个main.js文件的两个版本,一个用于我的开发环境,另一个用于PROD

原因是,在一些.js文件中,我列出了URL,例如:

currentPage == '/products/chairs.html'
但是,当将这些html文件移动到my.Net结构中时,实际URL为:

currentPage == 'goodsandservices/products/our-chairs.html'
我目前的rJS任务如下:

gulp.task('rjs', function() {

  rjs({
        baseUrl: config.src.js,
        out: 'main.js',
        name: 'main',
        mainConfigFile: config.src.js + '/main.js',
        exclude: [ 'angular']
    })
    .pipe(prod ? uglify({ mangle: false, compress: { drop_console: true } }) : gutil.noop())
    .pipe(gulp.dest(config.dest.js))
});
我已尝试使用gulp replace,并将我的rjs任务更新为:

gulp.task('rjs', function() {

  rjs({
        baseUrl: config.src.js,
        out: 'main.js',
        name: 'main',
        mainConfigFile: config.src.js + '/main.js',
        exclude: [ 'angular']
    })
    .pipe(prod ? uglify({ mangle: false, compress: { drop_console: true } }) : gutil.noop())
            .pipe(replace(/NETStructure/g, 'goodsandservices'))
    .pipe(gulp.dest(config.dest.js))
});
在我的.js文件中,我已将URL更新为:

currentPage == /NETStructure/g'/products/chairs.html'

但是,这似乎不起作用。

我建议您将这些字符串保存在一个对象中,并为同一对象创建两个不同的文件,如:

constants.dev.js

var constants = {
    chairs: '/products/chairs.html'
};
var constants = {
    chairs: 'goodsandservices/products/our-chairs.html'
};
constants.prod.js

var constants = {
    chairs: '/products/chairs.html'
};
var constants = {
    chairs: 'goodsandservices/products/our-chairs.html'
};
然后,您只需要包含正确的文件(或用闭包包装的连接文件)和:


你能给我一些反馈吗?