2017-01-27 1 views
1

Ich schrieb den folgenden Code mit 'Prompt' Paket. I definiert:node.js Prompt: Wie das Aussehen des Eigenschaftsnamens zu deaktivieren?

message: '' 

, um das Aussehen des Eigenschaftsnamen ‚username‘ in der Konsole zu deaktivieren, wenn das Programm für den Benutzer wartet eine Eingabe zu geben.

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); 
}) 

Dennoch ist es nicht funktioniert und die Konsole druckt:

Bitte geben Sie Ihren Benutzernamen

Benutzername: myname Befehlszeileneingabe

erhalten: Benutzername ist mein Name

Antwort

1

Sie möchten wahrscheinlich description: '' statt message: '' verwenden.

Es scheint fehlerhafte Dokumentation darüber zu sein:

Die Grundstruktur einer Eingabeaufforderung ist dies:

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

Aber das ist nicht richtig; property.message wird verwendet, um einen Validierungsfehler zu erklären, der nicht in einer Eingabeaufforderung erscheint. Früher in der Dokumentation, heißt es (richtig) von description und 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

I ‚message‘ geändert ‚Beschreibung‘ und es immer noch nicht das Problem lösen. – CrazySynthax

+0

@CrazySynthax Nur um zu überprüfen, was passiert, wenn Sie einen nicht leeren Wert für 'description' eingeben, wie' description: "foo" '? Zeigt es 'foo' oder immer noch nur den ursprünglichen Eigenschaftsnamen? – apsillers

Verwandte Themen