gpt4 book ai didi

javascript - Gulp 任务创建 main.js 的 DEV 和 PROD 版本

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

我是 Gulp 新手,一直在玩 gulp-minifygulp-uglify通过gulp-requirejs创建一个完整的main.js文件.

但是,我需要创建此 main.js 文件的 2 个版本,一个用于我的 DEV 环境,另一个用于 PROD。

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

currentPage == '/products/chairs.html'

但是,当将这些 html 文件移动到我的 .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'
};

constants.prod.js

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

然后你只需要包含正确的文件(或连接在一个闭包中)和:

currentPage == constants.chairs

关于javascript - Gulp 任务创建 main.js 的 DEV 和 PROD 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24409306/

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