首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gulp任务创建一个DEV和PROD版本的main.js

Gulp任务创建一个DEV和PROD版本的main.js
EN

Stack Overflow用户
提问于 2014-06-25 12:56:52
回答 1查看 1.3K关注 0票数 1

我是古普的新手,一直在与gulp-minifygulp-uglify合作,通过gulp-requirejs创建一个总体的main.js文件。

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

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

代码语言:javascript
复制
currentPage == '/products/chairs.html'

但是,当将这些html文件移动到我的.Net结构中时,实际的URL是:

代码语言:javascript
复制
currentPage == 'goodsandservices/products/our-chairs.html'

我当前的rJS任务如下:

代码语言:javascript
复制
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))
});

我尝试过使用,并将rjs任务更新为:

代码语言:javascript
复制
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更新为:

代码语言:javascript
复制
currentPage == /NETStructure/g'/products/chairs.html'

然而,这似乎不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-26 22:12:12

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

constants.dev.js

代码语言:javascript
复制
var constants = {
    chairs: '/products/chairs.html'
};

constants.prod.js

代码语言:javascript
复制
var constants = {
    chairs: 'goodsandservices/products/our-chairs.html'
};

然后,您只需要包含正确的文件(或封装在闭包中的级联),并且:

代码语言:javascript
复制
currentPage == constants.chairs
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24409306

复制
相关文章

相似问题

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