0
私はyargsを使用して、データロードヘルパーlibのcli引数を検証しています。yargs .check()エラー処理
私はfs.accessSync(filename, fs.R_OK);
として、スクリプトの実行を許可する前にファイルが存在していることを確認できます。しかし、ファイルが存在しない場合、メッセージングは単純にエラーとして.check()関数を表示しますが、私は傍受して、ファイルが存在しないことを示します(読み取り権限付き)。
偽の返品で.check()を使用してエラーを送信する方法を教えてください。ここで
は私yargsの要旨です:
var path = {
name: 'filepath',
options: {
alias: 'f',
describe: 'provide json array file',
demand: true,
},
};
function fileExists(filename) {
try {
fs.accessSync(filename, fs.R_OK);
return true;
} catch (e) {
return false;
}
}
var argv = require('yargs')
.usage('$0 [args]')
.option(path.name, path.options)
.check(function (argv) {
return fileExists(argv.f);
})
.strict()
.help('help')
.argv;
と返され、エラーでない場合は読み込み可能なファイル:
Argument check failed: function (argv) {
return fileExists(argv.f);
}
私はの線に沿って何かを指定することができるように好みます: Argument check failed: filepath is not a readable file
大変感謝! – abenrob