📅  最后修改于: 2023-12-03 14:44:40.104000             🧑  作者: Mango
在 Node.js 中,prompt.get() 方法是一个用于从命令行读取用户输入的包。它可以让开发人员从终端读取简单的用户输入,例如字符串、数字或布尔值。
使用 npm 安装 prompt 包:
npm install prompt
首先,我们需要将 prompt 包导入我们的代码:
const prompt = require('prompt');
接下来,我们可以使用 prompt.get() 方法读取用户输入:
prompt.get(['username', 'email'], function (err, result) {
if (err) { return onErr(err); }
console.log('输入的用户名是: ' + result.username);
console.log('输入的邮箱是: ' + result.email);
});
在上面的示例中,我们使用 prompt.get() 方法从用户那里读取了两个输入,即用户名和电子邮件地址。该方法需要传递两个参数:一个包含所需输入的属性的数组和一个回调函数。回调函数将两个参数:一个错误对象和一个包含用户输入的结果对象。
我们可以使用 prompt.start() 方法定制提示符的前缀和后缀。
prompt.start();
prompt.get(['username', 'email'], function (err, result) {
if (err) { return onErr(err); }
console.log('输入的用户名是: ' + result.username);
console.log('输入的邮箱是: ' + result.email);
});
在上面的示例中,我们声明了一个 prompt.start() 方法,它将为每次输入添加 "prompt: " 前缀。我们也可以使用 prompt.message
和 prompt.delimiter
定制前缀和后缀。
我们可以使用 default
属性将默认值设置为任何输入属性。
var properties = [
{
name: 'username',
default: 'admin'
},
{
name: 'email',
default: 'admin@example.com'
}
];
prompt.get(properties, function (err, result) {
if (err) { return onErr(err); }
console.log('输入的用户名是: ' + result.username);
console.log('输入的邮箱是: ' + result.email);
});
在上面的示例中,我们将默认值设置为 admin
和 admin@example.com
。
prompt 包还提供了验证用户输入的方法。我们可以使用 validator
属性来检查输入的数据。
var schema = {
properties: {
name: {
pattern: /^[a-zA-Z\s\-]+$/,
message: '名字只能使用字母、空格和连字符。',
required: true
},
email: {
pattern: /^[^\s@]+@[^\s@]+\.[^\s@]+$/,
message: '请输入有效邮箱地址。',
required: true
},
age: {
pattern: /^[0-9]+$/,
message: '年龄只能是数字。',
conform: function (value) {
return value >= 18;
}
}
}
};
prompt.start();
prompt.get(schema, function (err, result) {
if (err) { return onErr(err); }
console.log('输入的名字是: ' + result.name);
console.log('输入的邮箱是: ' + result.email);
console.log('输入的年龄是: ' + result.age);
});
在上面的示例中,我们使用 validator
属性对用户输入进行检查,并展示出错误信息。在 age
属性中,我们使用了 conform
函数来确保年龄大于等于 18 岁。
在 Node.js 中,使用 prompt.get() 方法读取用户输入非常简单。我们可以使用验证器、默认值和定制提示等功能来定制用户输入。