javascript - 在默认 gulp 任务中使用询问器

标签 javascript node.js gulp

我一直在重构现有网站,以更有效地使用 gulp 和 npm。我想将查询器合并到我的任务中来定义一些构建替代方案。现在我从简单开始。

这是我当前的 gulpfile:

//Define our required components
var gulp = require('gulp');
var inq = require('inquirer');
var plugins = require('gulp-load-plugins')({ scope: ['dependencies', 'devDependencies'] });

//Function that retrieves the file for the specifically names task
function getTask(task) {
    return require('./gulp-tasks/' + task)(gulp, plugins);
};

//Call for our tasks
gulp.task('thirdPartyComponents', getTask('ThirdPartyComponents'));
gulp.task('thirdPartyComponents.css', getTask('ThirdPartyComponentsCss'));
gulp.task('buyer.app', getTask('Buyer.App'));
gulp.task('buyer.controllers', getTask('Buyer.Controllers'));
gulp.task('buyer.directives', getTask('Buyer.Directives'));
gulp.task('buyer.filters', getTask('Buyer.Filters'));

//CODE NOTE: Dependent tasks are case-sensitive
gulp.task('default', function () {
    var questions =
        [
            {
                type: 'confirm',
                name: 'minimize',
                message: 'Do you want to minimize the files?',
                default: true
            }
        ];

    inq.prompt(questions).then(function (answers) {
        console.log(answers);
    });
});

当我运行任务时,我会在任务资源管理器的输出窗口中看到它

[16:21:21] Using gulpfile ....
[16:21:21] Starting 'default'...
[16:21:21] 'default' errored after 185 ms
[16:21:21] Error: Implement me. Unknown stdin file type!
    at process.stdin (node.js:740:17)
    at setupReadlineOptions (C:\Projects\BuyerSupplier\BuyerSupplier\Main\Source\BuyerSupplier.site-dev\src\BuyerSupplier.site\node_modules\inquirer\lib\ui\baseUI.js:57:35)
    at module.exports (C:\Projects\BuyerSupplier\BuyerSupplier\Main\Source\BuyerSupplier.site-dev\src\BuyerSupplier.site\node_modules\inquirer\lib\ui\baseUI.js:14:40)
    at new module.exports (C:\Projects\BuyerSupplier\BuyerSupplier\Main\Source\BuyerSupplier.site-dev\src\BuyerSupplier.site\node_modules\inquirer\lib\ui\prompt.js:15:8)
    at Object.promptModule [as prompt] (C:\Projects\BuyerSupplier\BuyerSupplier\Main\Source\BuyerSupplier.site-dev\src\BuyerSupplier.site\node_modules\inquirer\lib\inquirer.js:26:14)
    at Gulp.<anonymous> (C:\Projects\BuyerSupplier\BuyerSupplier\Main\Source\BuyerSupplier.site-dev\src\BuyerSupplier.site\Gulpfile.js:31:9)
    at module.exports (C:\Projects\BuyerSupplier\BuyerSupplier\Main\Source\BuyerSupplier.site-dev\src\BuyerSupplier.site\node_modules\orchestrator\lib\runTask.js:34:7)
    at Gulp.Orchestrator._runTask (C:\Projects\BuyerSupplier\BuyerSupplier\Main\Source\BuyerSupplier.site-dev\src\BuyerSupplier.site\node_modules\orchestrator\index.js:273:3)
    at Gulp.Orchestrator._runStep (C:\Projects\BuyerSupplier\BuyerSupplier\Main\Source\BuyerSupplier.site-dev\src\BuyerSupplier.site\node_modules\orchestrator\index.js:214:10)
    at Gulp.Orchestrator.start (C:\Projects\BuyerSupplier\BuyerSupplier\Main\Source\BuyerSupplier.site-dev\src\BuyerSupplier.site\node_modules\orchestrator\index.js:134:8)
Process terminated with code 1.

我不确定为什么这么简单的事情不想启动......非常感谢任何帮助。

最佳答案

发现问题了,和代码没有直接关系。我在 Visual Studio 中运行,并使用任务运行程序资源管理器来调用默认任务。这就是我看到问题的地方。

在做了更多研究之后,我一时兴起,从命令窗口运行了 gulp 任务。它按预期完成。因此,使用 process.stdin 命令的任务运行程序中仍然存在问题。

关于javascript - 在默认 gulp 任务中使用询问器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37798944/

相关文章:

javascript - JQuery 没有按应有的方式行事

javascript - 如何在对象中引用 JavaScript 对象键?

javascript - 任务 "default"不在您的 gulpfile 中

javascript - 输入提交未在 Internet Explorer 中使用 jquery 提交表单

javascript - React onClick 函数在渲染时触发

node.js - npm - 如何覆盖依赖包的依赖项?

javascript - 获取 JavaScript 编译器生成的汇编代码

javascript - Node.js、puppeteer 和延迟加载

javascript - Grunt/Gulp 源文件目标用途

gulp - 使用 gulp 对任务进行排序