首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置环境模式并在启动gulp任务时输出消息

设置环境模式并在启动gulp任务时输出消息
EN

Stack Overflow用户
提问于 2017-11-09 12:38:54
回答 2查看 464关注 0票数 0

我想知道如何在运行gulp进程时将消息输出到终端,以及如何设置环境以特定的方式运行任务。

  1. 我确信我以前见过类似gulp scripts:dev的东西,但不知道如何使用,有人能建议我如何做到这一点吗?
  2. 如何以这种方式运行默认任务,gulp deafult:dev
  3. 在执行gulp命令时,是否可以询问用户希望在终端中运行任务的环境(如果他们没有指定它)。

我已经使用了吞咽插件来实现这一点,但是它的工作方式略有不同,您需要在运行gulp (即NODE_ENV=dev gulp )之前设置一个节点环境变量。

代码语言:javascript
复制
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']);
  1. 此外,我还使用了上面的吞咽壳将消息输出到终端,但这是非常基本的。不管怎么说,我可以用我输出到终端的信息,用断线和颜色来做类似的事情。
EN

回答 2

Stack Overflow用户

发布于 2017-11-24 02:55:42

看看gulp环境--你可以设置任意数量的环境,但是开发和prod对于大多数人来说都足够了。您可以在gulpfile中定义每个事件,并将不同的事件设置为在每个gulp脚本中发生。因此,您的样式脚本可以包含一个.pipe(有些只包含dev源代码)和一个.pipe(prod(一些迷你固定构建代码))。你可以用-env标志从git bash运行脚本.吞咽或吞咽.并从大致相同的脚本运行两个完全不同的构建周期。您将默认的gulp任务设置为运行所有页面脚本,它将只在每个环境循环时执行这些脚本。

票数 0
EN

Stack Overflow用户

发布于 2017-11-24 04:00:33

要将消息输出到终端,您可以需要gulp节点模块。

示例代码:

代码语言:javascript
复制
gulp.task('test', () => {
    gutil.log(gutil.colors.yellow('=== Testing ==='));    
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47202103

复制
相关文章

相似问题

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