Gulp 管理不同环境下的不同文件和路径

Gulp 管理不同环境下的不同文件和路径,gulp,Gulp,在我的正常流程中,我包含了两个css <link rel="stylesheet" href="style.css"> <link rel="stylesheet" href="external.css"> 但我希望在开发环境中它应该只包含两个文件(style.css,external.css),在生产环境中它应该包含res_style.css。gulp有没有办法根据环境自动处理此问题?您可以使用yargs 在推荐行中,您可以添加for ex:gulp--env dev

在我的正常流程中,我包含了两个css

<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="external.css">

但我希望在开发环境中它应该只包含两个文件(
style.css
external.css
),在生产环境中它应该包含res_style.css。gulp有没有办法根据环境自动处理此问题?

您可以使用
yargs

在推荐行中,您可以添加for ex:
gulp--env development

在gulp配置中:

var argv = require('yargs').argv;
console.log(argv.env);
if (argv.env === 'developmenet') {
    // generate 2 css file
} else {
    // generate 1 css file
}
使用gulpsrc替换html文件中的文本

var src =  path.join('index.html');
var dest =  path.join('build/index.html');

gulp.src(src)
    .pipe(replace('<link rel="stylesheet" href="style.css">', ''))
    .pipe(replace('<link rel="stylesheet" href="external.css">', '<link rel="stylesheet" href="build/res_style.css">'))
    .pipe(gulp.dest(dest));
var src=path.join('index.html');
var dest=path.join('build/index.html');
大口src(src)
.管道(更换('',))
.管道(更换('',))
.管道(大口目的地(目的地));

生成不是问题所在,我想在包含此css的index.html文件中的文件中自动生成它。这可能与gulp inject有关。只要提到注释和文件,它就会被追加。
var src =  path.join('index.html');
var dest =  path.join('build/index.html');

gulp.src(src)
    .pipe(replace('<link rel="stylesheet" href="style.css">', ''))
    .pipe(replace('<link rel="stylesheet" href="external.css">', '<link rel="stylesheet" href="build/res_style.css">'))
    .pipe(gulp.dest(dest));