2017-01-27 7 views
1

Я написал следующий код, используя пакет «prompt». Я определил:node.js prompt: как отключить внешний вид имени свойства?

message: '' 

для того, чтобы отключить появление имени свойства «имя пользователя» в консоли, когда программа ждет пользователя, чтобы дать вход.

var prompt = require('prompt'); 
prompt.message = ''; 
var schema = { 
    properties: { 
     username: { 
     message: '' 
     } 
    } 
}; 
console.log('Please type your username'); 
prompt.get(schema, function(err, result) { 
    console.log('Command-line input received:'); 
    console.log('username is ' + result.username); 
}) 

Тем не менее, он не работает, а консоль печатает:

Пожалуйста, введите ваше имя пользователя

имя пользователя: MyName ввода командной строки

получил: имя пользователя is myname

ответ

1

Возможно, вы захотите использовать description: '' вместо message: ''.

Там, как представляется ошибочной документации об этом:

Основная структура запроса заключается в следующем:

prompt.message + prompt.delimiter + property.message + prompt.delimiter; 

Но это не так; property.message используется для объяснения ошибки проверки, а не в приглашении. Ранее в документации, он говорит (правильно) из description и message:

{ 
    description: 'Enter your password', // Prompt displayed to the user. If not supplied name will be used. 
    ... 
    message: 'Password must be letters', // Warning message to display if validation fails. 
    ... 
} 
+0

я изменил «сообщение» в «описание» и это еще не решает проблему. – CrazySynthax

+0

@CrazySynthax Просто чтобы проверить, что произойдет, если вы укажете непустое значение для 'description', например' description: "foo" '? Отображает ли оно 'foo' или еще только исходное имя свойства? – apsillers