gulp不同环境打不同的包,咋写
时间: 2023-11-27 14:55:40 浏览: 68
可以使用 gulp 的条件判断语句来实现不同环境打不同的包。下面是一个简单的示例:
```javascript
const gulp = require('gulp');
const uglify = require('gulp-uglify');
const concat = require('gulp-concat');
gulp.task('build', function() {
let isProd = process.env.NODE_ENV === 'production'; // 判断是否为生产环境
return gulp.src('src/js/*.js')
.pipe(concat('bundle.js'))
.pipe(isProd ? uglify() : noop()) // 生产环境下压缩代码
.pipe(gulp.dest('dist/js'));
});
function noop() {
return through2.obj(function(file, enc, cb) {
cb(null, file);
});
}
```
在上面的示例中,我们使用了 `process.env.NODE_ENV` 来判断当前是否为生产环境,如果是,则使用 `uglify` 插件来压缩代码。如果不是,则不做任何处理。最后将处理完的代码输出到 `dist/js` 目录下。
可以在命令行中设置 `NODE_ENV` 环境变量来指定当前的环境,例如:
```
// 开发环境
NODE_ENV=development gulp build
// 生产环境
NODE_ENV=production gulp build
```
当然,你也可以通过其他方式来判断当前环境,比如读取配置文件等等。
阅读全文