{"id":3297,"date":"2023-12-10T18:15:00","date_gmt":"2023-12-10T17:15:00","guid":{"rendered":"https:\/\/ictknow-how.ch\/blog\/?p=3297"},"modified":"2023-12-12T12:13:57","modified_gmt":"2023-12-12T11:13:57","slug":"lidarr-wie-stellt-man-das-frontend-bereit","status":"publish","type":"post","link":"https:\/\/ictknow-how.ch\/blog\/2023\/12\/10\/lidarr-wie-stellt-man-das-frontend-bereit\/","title":{"rendered":"Lidarr &#8211; wie stellt man das Frontend bereit?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/ictknow-how.ch\/blog\/2023\/12\/10\/wie-kann-man-bei-lidarr-beitragenein-ausfuehrlicheres-how-to-contribute\/\" data-type=\"link\" data-id=\"https:\/\/ictknow-how.ch\/blog\/2023\/12\/10\/wie-kann-man-bei-lidarr-beitragenein-ausfuehrlicheres-how-to-contribute\/\">In diesem Artikel<\/a> habe ich beschrieben, wie man f\u00fcr das Open-Source-Projekt <a href=\"https:\/\/github.com\/Lidarr\/Lidarr\" data-type=\"link\" data-id=\"https:\/\/github.com\/Lidarr\/Lidarr\" target=\"_blank\" rel=\"noreferrer noopener\">Lidarr<\/a> das sogenannte <strong>Backend<\/strong> in Visual Studio 2022 bereitstellt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Damit man in Visual Studio 2022 das Projekt durchg\u00e4ngig debuggen kann, braucht es aber auch den im Browser sichtbaren <strong>Frontend<\/strong>-Teil.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Was braucht man um das <strong>Lidarr-Frontend<\/strong> in Visual Studio 2022 verwenden zu k\u00f6nnen?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Auf dem Ger\u00e4t wo man sich schon Visual Studio installiert hat, kommt zus\u00e4tzlich noch <code>Node.js<\/code> von <a href=\"https:\/\/nodejs.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/nodejs.org\/<\/a> und <code>Yarn<\/code> dazu. <br>Die vorgeschlagene <code>Node.js<\/code>-LTS-Version 20.10.0 reicht. Also das <code>node-v20.10.0-x64.msi<\/code>-Paket runterladen und (bei geschlossenem Visual Studio) installieren. Die ganzen Zus\u00e4tze wie z.B. \u00abChocolatey\u00bb sind f\u00fcr Lidarr NICHT n\u00f6tig:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/image-8.png\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"327\" src=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/image-8.png\" alt=\"\" class=\"wp-image-3326\" srcset=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/image-8.png 602w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/image-8-300x163.png 300w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Wie in der offiziellen Lidarr-Wiki beschrieben, ist Yarn in neueren Versionen von Node.js bereits enthalten. Das gilt auch f\u00fcr die eben installierte <code>Node.js<\/code>-v20.10.0.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Man sucht also im Windows-Menu nach dem eben frisch erstellten <code>Node.js<\/code>-Eintrag und f\u00fchrt den \u00abNode.js command prompt\u00bb (=Kommandozeile) als Administrator aus:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-command-prompt-als-Administrator-ausfuehren.png\"><img loading=\"lazy\" decoding=\"async\" width=\"905\" height=\"394\" src=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-command-prompt-als-Administrator-ausfuehren.png\" alt=\"\" class=\"wp-image-3327\" srcset=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-command-prompt-als-Administrator-ausfuehren.png 905w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-command-prompt-als-Administrator-ausfuehren-300x131.png 300w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-command-prompt-als-Administrator-ausfuehren-768x334.png 768w\" sizes=\"auto, (max-width: 905px) 100vw, 905px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Im ge\u00f6ffneten Kommandozeilenfenster tippt man folgenden Befehl ein:<br><code>corepack enable<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-corepack-enable.png\"><img loading=\"lazy\" decoding=\"async\" width=\"751\" height=\"173\" src=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-corepack-enable.png\" alt=\"\" class=\"wp-image-3329\" srcset=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-corepack-enable.png 751w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-corepack-enable-300x69.png 300w\" sizes=\"auto, (max-width: 751px) 100vw, 751px\" \/><\/a><figcaption class=\"wp-element-caption\">Eine R\u00fcckmeldung darauf gibt es nicht.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Dann wechselt man mit dem Befehl <code>CD<\/code> zwingend in das <code>\\frontend-<\/code>Verzeichnis, wo man im ersten Teil mit dem Backend den kompletten Source-Code hin kopiert hat. In meinem Beispiel war das<br><code>CD %USERPROFILE%\\Documents\\Visual Studio 2022\\Code Snippets\\Visual C#\\Lidarr-develop (10.12.2023)<\/code>\\frontend<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im \\frontend-Verzeichnis tippt man diesen Befehl ein:<br><code>yarn install<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-CD-und-Yarn-install.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"551\" src=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-CD-und-Yarn-install-1024x551.png\" alt=\"\" class=\"wp-image-3330\" srcset=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-CD-und-Yarn-install-1024x551.png 1024w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-CD-und-Yarn-install-300x161.png 300w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-CD-und-Yarn-install-768x413.png 768w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-CD-und-Yarn-install.png 1201w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Man sieht den Installations-Fortschritt der 970 Yarn-Pakete fortlaufend aktualisiert. <br>Wenn diese Yarn-Installation abgeschlossen ist, folgt dieser Befehl am gleichen Ort:<br><code>yarn start<\/code><br><em>(Nicht erschrecken, da passiert sichtbar erstmal rund 30 Sekunden rein gar nichts. Wenn man die aufpoppende Sicherheits-Abfrage akzeptiert, folgt wieder eine farbige, fortlaufende Fortschrittsanzeige:)<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-Yarn-Start-dauert-ca.-30-Sekunden.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"715\" src=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-Yarn-Start-dauert-ca.-30-Sekunden-1024x715.png\" alt=\"\" class=\"wp-image-3334\" srcset=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-Yarn-Start-dauert-ca.-30-Sekunden-1024x715.png 1024w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-Yarn-Start-dauert-ca.-30-Sekunden-300x209.png 300w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-Yarn-Start-dauert-ca.-30-Sekunden-768x536.png 768w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2023\/12\/Node.js-Yarn-Start-dauert-ca.-30-Sekunden.png 1466w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Die zwischendurch auftretenden roten ERROR-Meldungen kann man ignorieren.<\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-color has-link-color wp-elements-1 wp-block-paragraph\" style=\"color:#fe0000\"><em><strong>Hinweis zu den Yarn-Fehlermeldungen: <\/strong><br>Der Grund f\u00fcr die vereinzelten ERROR liegt darin, dass <code>Yarn<\/code> anscheinend nicht mit dem Sonderzeichen <strong>#<\/strong> im Verzeichnisnamen &#8222;Visual C<strong>#<\/strong>&#8220; klarkommt. Deshalb habe ich den Standard-Verzeichnisnamen den Visual Studio anlegt inzwischen manuell auf &#8222;<code>\\Visual CS<\/code>&#8220; f\u00fcr <strong>C<\/strong>&#8211;<strong>S<\/strong>harp abge\u00e4ndert.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Abbrechen kann man das gestartete Yarn-Fenster durch Dr\u00fccken der Tastenkombination CTRL + C<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn man nun das <strong>Backend<\/strong> wieder \u00fcber die Projektstart-Datei <code>Lidarr.sln<\/code> in Visual Studio 2022 l\u00e4dt, kann man erneut versuchen, mit F5 oder einem Klick auf den grossen gr\u00fcnen Play-Button die Kompilierung zu starten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hat man alles vollst\u00e4ndig gem\u00e4ss dieser Anleitung erledigt, wird man mit der allerersten Konfigurations-Maske von Lidarr in einem Browser empfangen. Ganz genau so, wie wenn Lidarr das allererste Mal auf seinem Ger\u00e4t installiert.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nun kann man nach Belieben den Backend-Code in Visual Studio \u00e4ndern und direkt im Browser sehen wie sich das auswirkt. <br>Nochmal zur Erinnerung: Will man sichtbare Ver\u00e4nderungen im Frontend bewirken, z.B. die Farben oder Formen oder Buttons \u00e4ndern, dann muss man in einem HTML- und\/oder Javascript-Editor die entsprechenden Codestellen anpassen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wie man das genau macht, folgt in im <a href=\"https:\/\/ictknow-how.ch\/blog\/2023\/12\/12\/lidarr-wie-nimmt-man-aenderungen-am-frontend-vor\/\" data-type=\"link\" data-id=\"https:\/\/ictknow-how.ch\/blog\/2023\/12\/12\/lidarr-wie-nimmt-man-aenderungen-am-frontend-vor\/\">dritten Teil <\/a>dieser Anleitung.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bei Fragen zu den bisherigen Teilen <strong><a href=\"https:\/\/ictknow-how.ch\/blog\/2023\/12\/10\/wie-kann-man-bei-lidarr-beitragenein-ausfuehrlicheres-how-to-contribute\/\" data-type=\"link\" data-id=\"https:\/\/ictknow-how.ch\/blog\/2023\/12\/10\/wie-kann-man-bei-lidarr-beitragenein-ausfuehrlicheres-how-to-contribute\/\">Backend-<\/a> <\/strong>und <strong>Frontend-Installation<\/strong>, einfach einen Kommentar hinterlassen.<\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;3297&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;5&quot;,&quot;greet&quot;:&quot;Rate this post&quot;,&quot;legend&quot;:&quot;0\\\/5 - (0 votes)&quot;,&quot;size&quot;:&quot;24&quot;,&quot;title&quot;:&quot;Lidarr - wie stellt man das Frontend bereit?&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 19.2px;\">\n            <span class=\"kksr-muted\">Rate this post<\/span>\n    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>In diesem Artikel habe ich beschrieben, wie man f\u00fcr das Open-Source-Projekt Lidarr das sogenannte Backend in Visual Studio 2022 bereitstellt. Damit man in Visual Studio 2022 das Projekt durchg\u00e4ngig debuggen kann, braucht es aber auch den im Browser sichtbaren Frontend-Teil. Was braucht man um das Lidarr-Frontend in Visual Studio 2022 verwenden zu k\u00f6nnen? Auf dem &#8230; <a title=\"Lidarr &#8211; wie stellt man das Frontend bereit?\" class=\"read-more\" href=\"https:\/\/ictknow-how.ch\/blog\/2023\/12\/10\/lidarr-wie-stellt-man-das-frontend-bereit\/\" aria-label=\"Mehr Informationen \u00fcber Lidarr &#8211; wie stellt man das Frontend bereit?\">Weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28,278],"tags":[283,282,284,285,277,280,281],"class_list":["post-3297","post","type-post","status-publish","format-standard","hentry","category-software","category-visual-studio","tag-c","tag-c-sharp","tag-html","tag-javascript","tag-lidarr","tag-node-js","tag-yarn"],"_links":{"self":[{"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/posts\/3297","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/comments?post=3297"}],"version-history":[{"count":0,"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/posts\/3297\/revisions"}],"wp:attachment":[{"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/media?parent=3297"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/categories?post=3297"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/tags?post=3297"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}