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
In diesem Artikel finden Sie das grafische Tutori...
React Native kann native iOS- und Android-Apps ba...
Inhaltsverzeichnis 1. Einführung in Nginx 2. Aufb...
MySQL kann nicht nur über das Netzwerk, sondern a...
Dieser Artikel erläutert anhand von Beispielen da...
Herzattribute opacity: .999 erstellt einen Stapel...
Inhaltsverzeichnis 1. Node Exporter installieren ...
1. Herunterladen https://dev.mysql.com/downloads/...
50 Zeilen Code zum Ändern von 5 Hautfarben, einsc...
Vorwort In „High Performance MySQL“ wird erwähnt,...
<br />Originalquelle: http://www.a-xuan.cn/?...
Heute werde ich diese Anfängerfragen beantworten: ...
<br />Welche Grundsätze sollten beachtet wer...
1. getElementById von IE8 unterstützt nur IDs, nic...
Inhaltsverzeichnis Horizontales Balkendiagramm Da...