Το nopt είναι ο αναλυτής επιλογών που χρησιμοποιείται εσωτερικά από το npm και πολλά εργαλεία γραμμής εντολών.
Βασική χρήση
const nopt = require('nopt');
// 1. Define expected option types
const knownOpts = {
foo: [String, null],
size: ['big', 'medium', 'small'],
many: [String, Array],
debug: Boolean,
version: Boolean,
help: Boolean
};
// 2. Define short aliases
const shortHands = {
h: '--help',
v: '--version',
d: '--debug'
};
// 3. Parse arguments
const parsed = nopt(knownOpts, shortHands, process.argv, 2);
Δομή εξόδου
Με δεδομένη την εντολή CLI:
node app.js --size big -d input1.txt input2.txt
Το προκύπτον αναλυμένο αντικείμενο:
{
size: 'big',
debug: true,
argv: {
remain: ['input1.txt', 'input2.txt'], // Non-option positional arguments
cooked: ['--size', 'big', '--debug', 'input1.txt', 'input2.txt'],
original: ['--size', 'big', '-d', 'input1.txt', 'input2.txt']
}
}
Υποστηριζόμενοι τύποι
StringBooleanNumberArrayDatepath(κανονικοποιεί διαδρομές)url(επικυρώνει συμβολοσειρές URL)- Απαριθμήσεις (Enums):
['small', 'medium', 'large']