2016-06-13 111 views
0

我一直在重構一個現有的網站,以更有效地使用gulp和npm。我想將查詢者納入我的任務來定義一些構建方法。現在我開始簡單了。在默認的gulp任務中使用inquirer

這是我目前的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. 

我不知道爲什麼這個東西簡單的犯規想要開除....任何幫助真的很感激。

回答

0

發現問題,並且與代碼直接無關。我在Visual Studio中運行,並使用Task Runner Explorer調用默認任務。這是我看到這個問題的地方。

在做了更多的研究之後,我隨心所欲地從命令窗口運行吞噬任務。它按預期完成。因此,使用process.stdin命令的命令在Task Runner中仍然存在問題。