1. Vorbereitung1.1 Projekt erstellen $ npm init 1.2 Installationsabhängigkeiten $ npm ich commander chalk zwischenablage 1.3 Erstellen der Eintragsdatei index.js Werfen wir einen Blick auf process.argv // index.js Konsole.log(Prozess.argv) Terminal-Ausführungsbefehl $ Knotenindex Im Terminal sehen Sie
Befehl ausführen $ Knotenindex generieren Der dritte Parameter: generate 2. Befehlszeilen schreiben 2.1 Version und Beschreibung hinzufügen// index.js const-Programm = erforderlich('Kommandant'); program.version('1.0.0').description('Einfacher Passwortgenerator').parse() Terminalausführungsbefehl: Sie können die Beschreibung von passgen sehen Führen Sie den Befehl weiter aus: Sie können die Version von passgen sehen 2.2 Befehl zur Konfiguration der Kennwortlängeconst-Programm = erforderlich('Kommandant'); program.version('1.0.0').description('Einfacher Passwortgenerator') program.option('-l --length <Zahl>', 'Länge des Passworts').parse() Konsole.log(Programm.Opts()) Terminalausführungsbefehl: Sie können den Kennwortlängenbefehl von passgen sehen Terminal-Ausführungsbefehl: 2.2 Standardwert für Passwortlänge hinzugefügt: 8program.option('-l --length <Zahl>', 'Länge des Passworts', '8').parse() Konsole.log(Programm.Opts()) Terminalausführungsbefehl: Legen Sie die Kennwortlänge nicht fest. Sie können sehen, dass der Standardwert -8 verwendet wird. Terminalausführungsbefehl: Setzen Sie die Kennwortlänge auf 10 2.3 Konfigurieren des Befehls zum Speichern des Passwortsprogram.option('-l --length <Zahl>', 'Länge des Passworts', '8') .option('-s --save', 'Passwort in password.txt speichern').parse() 2.4 Passwortformat konfigurieren: Keine Zahlen.option('-nn --no-number', 'Zahlen entfernen').parse() Terminal-Ausführungsbefehl: Standardmäßig gibt es Zahlen Terminalausführungsbefehl: Digitales Passwort festlegen und löschen 2.5 Konfigurationskennwortformat: Keine Symbole.option('-ns --no-symbols', 'Symbole entfernen').parse() Terminal-Ausführungsbefehl: Standardmäßig hat es Symbole Terminalausführungsbefehl: Digitales Passwort festlegen und löschen 3. Parsen der Kommandozeile - Erstellen eines Passworts// index.js const-Programm = erforderlich('Kommandant'); const createPassword = erfordern('./utils/createPassword') const log = konsole.log program.version('1.0.0').description('Einfacher Passwortgenerator') Programm .option('-l --length <Zahl>', 'Länge des Passworts', '8') .option('-s --save', 'Passwort in password.txt speichern') .option('-nn --no-numbers', 'Zahlen entfernen') .option('-ns --no-symbols', 'Symbole entfernen').parse() const {Länge, Speichern, Zahlen, Symbole} = program.opts() // Generiertes Passwort abrufen const generatedPassword = createPassword(Länge, Zahlen, Symbole) // Generiertes Passwort ausgeben log(generiertesPasswort) Erstellen Sie utils/createPassword.js // Passwort erstellen.js const alpha = "qwertyuiopasdfghjklzxcvbnm" Konstantenzahlen = "0123456789" Konstante Symbole = '!@#$%^&*_-=+' const createPassword = (Länge = 8, hat Zahlen = wahr, hat Symbole = wahr) => { let chars = alpha hatZahlen ? (Zeichen += Zahlen): '' hatSymbole? (Zeichen += Symbole): '' returniere generatePassword(Länge, Zeichen) } const generatePassword = (Länge, Zeichen) => { let Passwort = '' für(lass i = 0; i < Länge; i++){ Passwort + = Zeichen.charAt (Math.floor (Math.random () * Zeichen.Länge)) } Passwort zurückgeben } module.exports = Passwort erstellen Terminalausführungsbefehl: Kennwortgenerierung anzeigen 3.1 Farbe hinzufügen// index.js const Kreide = erforderlich('Kreide'); log(chalk.blue('Generiertes Passwort: ') + chalk.bold(generiertesPasswort)) Terminal führt Befehl aus: Sie können die Farbänderungen sehen 3.2 Zwischenablage hinzufügen// index.js const clipboardy = erfordern('Zwischenablage'); // In die Zwischenablage kopieren clipboardy.writeSync(generiertesPasswort) log(chalk.yellow('Passwort in die Zwischenablage kopiert!')) 4. Speichern Sie das Passwort in der entsprechenden Datei// index.js const savePassword = erfordern('./utils/savePassword') // In Datei speichern if (speichern) savePassword(generiertesPasswort) Erstellen Sie utils/savePassword.js const fs = erfordern('fs') const Pfad = require('Pfad') const os = erfordern('os') const Kreide = erforderlich('Kreide') const savePassword = (Passwort) => { fs.open(Pfad.join(__dirname, '../', 'passwords.txt'), 'a', '666', (e, id) => { fs.write(id, password + os.EOL, null, 'utf-8', ()=>{ fs.schließen(id, ()=>{ console.log(chalk.green('Passwort in passwords.txt gespeichert')) }) }) }) } module.exports = Passwort speichern Führen Sie den Befehl im Terminal aus: Sie können sehen, dass die Datei passwords.txt im Projekt generiert wird und das Passwort erfolgreich gespeichert wurde 5. Konfigurieren Sie lokale npm-Module als globale Passgen// paket.json "preferGlobal": wahr, "bin":"./index.js", Terminal-Ausführungsbefehl: Befehl npm link: Verknüpfen Sie das npm-Modul mit dem entsprechenden laufenden Projekt, um das Debuggen und Testen lokaler Module zu erleichtern. //index.js #!/usr/bin/env node //Füge die erste Zeile hinzu Terminal-Ausführungsbefehl: Zusammenfassung: Es ist geschafft ✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️✌️ Referenzlink: nodejs.cn/api/process… ZusammenfassenDies ist das Ende dieses Artikels über die Verwendung von Node.js zum Erstellen eines Passwortgenerators. Weitere Informationen zum Node.js-Passwortgenerator finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! |
<<: Erläuterung des Prinzips des MySQL-Replikationsmechanismus
>>: So installieren Sie Redis5.0.3 im Docker
1. Vorbereitung der virtuellen Maschine 1. Erstel...
Dieser Artikel beschreibt, wie man das Linux-Syst...
Entpacken Sie das Maven-Paket tar xf apache-maven...
Inhaltsverzeichnis 1. Weltweit registrierte Kompo...
1. Grundlinien 2. Spezialeffekte (die Effekte sin...
Inhaltsverzeichnis 1. Einleitung: In diesem Fall ...
Inhaltsverzeichnis Vorwort 1. Daten extrahieren 2...
Benutzer virtueller Maschinen richten normalerwei...
Warum funktioniert Ihre Größe: 100 % nicht? Diese...
Überblick Das Builder-Muster ist ein relativ einf...
Heute ist in meiner lokalen Entwicklungsumgebung ...
Wenn MySQL normal ausgeführt wird, ist es nicht s...
Seitdem ich 2017 mit der Arbeit an Vulhub begonne...
Inhaltsverzeichnis Vorherige 1. Was ist Setup-Syn...
Ich habe vor kurzem Porter gelernt. Ich habe das ...