Polecenia
Część sekcji Podstawy Node.js ścieżki Node.js w Coddy. Lekcja 4 z 33.
Narzędzie wykona kilka czynności, a pierwsze słowo wskazuje, którą.
Destrukturyzacja pobiera pierwsze słowo i gromadzi resztę w tablicy:
// node calc.js double 4
const [action, ...rest] = process.argv.slice(2);
if (action === 'double') {
console.log(Number(rest[0]) * 2);
}action to pierwsze słowo, a rest zawiera wszystkie słowa po nim. rest.join(' ') łączy te słowa z powrotem w jeden ciąg znaków. Łańcuch if i else if wybiera, co zrobić. Końcowe else przechwytuje każde nieprzewidziane słowo, w tym literówkę.
Wyzwanie
ŁatwyTwoje narzędzie będzie wykonywać kilka zadań, a pierwsze słowo po node notes.js określa, które z nich. Teraz zna dwa polecenia: add i list, a także odpowiedź na każde nieznane słowo.
- W pliku
notes.jszastąp obie linie początkowe. Podziel słowa występujące ponode notes.jsna polecenie, czyli pierwsze słowo, oraz resztę, czyli wszystkie pozostałe słowa. - Za pomocą łańcucha
if,else if,elsewybierz działanie w zależności od polecenia. Każde polecenie wypisuje dokładnie jedną linię:addwypisujeAdding:, a następnie pozostałe słowa połączone spacjami.node notes.js add Buy milkwypisujeAdding: Buy milk.listwypisujeNo notes yet. Notatki nie są jeszcze nigdzie zapisywane; tym zajmiemy się w rozdziale 3.- Każde inne pierwsze słowo powoduje wypisanie
Unknown command:, a następnie tylko tego pierwszego słowa.node notes.js remove 3wypisujeUnknown command: removebez3.
- Nic więcej nie może być wypisywane. Jeśli linia z poprzedniej lekcji, która wypisuje
Adding:, pozostanie poza łańcuchem, zostanie wykonana dla każdego polecenia,listwypisze dwie linie, a testy się nie powiodą.
Wszystkie trzy przypadki kończą się normalnie, kodem wyjścia 0. W następnej lekcji nieznane polecenia staną się błędami.
Wypróbuj: wpisz każde z poniższych poleceń w polu po $ node notes.js i naciśnij Enter.
add Buy milkwyświetlaAdding: Buy milk.listwyświetlaNo notes yet.remove 3wyświetlaUnknown command: remove.Listz wielką literą L wyświetlaUnknown command: List. JavaScript porównuje tekst znak po znaku, uwzględniając wielkie litery, więcListto nielist.
Spróbuj swoich sił
// Twoje narzędzie do notatek zaczyna się tutaj.
const args = process.argv.slice(2);
console.log(`Adding: ${args.slice(1).join(' ')}`);
Wszystkie lekcje w sekcji Podstawy Node.js
1Uruchamianie JavaScript w Node
Witaj, NodeOdczytywanie poleceniaArgumenty wiersza poleceńPolecenia5Zdarzenia, dane wejściowe i pakiety
Nasłuchuj przed emisjąEmitery zdarzeńOdczytywanie danych wejściowychPoćwicz samodzielnie: Edytor online Express