我想知道如何在运行gulp进程时将消息输出到终端,以及如何设置环境以特定的方式运行任务。
gulp scripts:dev的东西,但不知道如何使用,有人能建议我如何做到这一点吗?gulp deafult:devgulp命令时,是否可以询问用户希望在终端中运行任务的环境(如果他们没有指定它)。我已经使用了吞咽插件来实现这一点,但是它的工作方式略有不同,您需要在运行gulp (即NODE_ENV=dev gulp )之前设置一个节点环境变量。
var gulp = require('gulp'),
sass = require('gulp-ruby-sass'),
gulpif = require('gulp-if'),
shell = require('gulp-shell');
var isDev = process.env.NODE_ENV === 'dev';
// gulp-shell task to output messages to terminal
gulp.task('info', shell.task([
'echo run in developer mode with this command: NODE_ENV=dev gulp'
]));
// Styles Task
// Uses gulp-if plugin to run task differently dependent on env.
gulp.task('styles', ['info'], function () { // eslint-disable-line strict
return sass('css/sass/*.scss', {
style: gulpif(!isDev,'compressed','expanded'),
cacheLocation: 'css/sass/.sass-cache',
sourcemap: isDev
})
[...code ommitted...]
});
gulp.task('default', ['h','styles']);发布于 2017-11-24 02:55:42
看看gulp环境--你可以设置任意数量的环境,但是开发和prod对于大多数人来说都足够了。您可以在gulpfile中定义每个事件,并将不同的事件设置为在每个gulp脚本中发生。因此,您的样式脚本可以包含一个.pipe(有些只包含dev源代码)和一个.pipe(prod(一些迷你固定构建代码))。你可以用-env标志从git bash运行脚本.吞咽或吞咽.并从大致相同的脚本运行两个完全不同的构建周期。您将默认的gulp任务设置为运行所有页面脚本,它将只在每个环境循环时执行这些脚本。
发布于 2017-11-24 04:00:33
要将消息输出到终端,您可以需要gulp节点模块。
示例代码:
gulp.task('test', () => {
gutil.log(gutil.colors.yellow('=== Testing ==='));
});https://stackoverflow.com/questions/47202103
复制相似问题