Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
COM- und VSTO-Add-In-Entwickler, die noch nicht mit der Welt des Node Package Manager (npm) und Open Source Entwicklung vertraut sind, sind bei bestimmten Aspekten dieser Art von Entwicklung oft überrascht und alarmiert. Dieser Artikel dient dazu, solche Entwickler hinsichtlich der Dinge zu beruhigen, die sie möglicherweise als beunruhigend empfinden.
npm-Abhängigkeitsstruktur
npm ist der Standardpaket-Manager für die JavaScript-Laufzeitumgebung Node.js. Es wird verwendet, um JavaScript-Entwicklungsworkflows zu optimieren, indem Entwickler Open Source Bibliotheken und Tools (zusammen als "Pakete" bezeichnet) installieren und Paketabhängigkeiten verwalten können.
Die npm-Abhängigkeitsstruktur ist eine hierarchische Struktur, die alle Pakete darstellt, von denen Ihr Node.js Projekt abhängt. Jeder Knoten in der Struktur ist ein Paket, und seine untergeordneten Elemente sind die Pakete, von denen es abhängt. Diese Struktur kann tief verschachtelt werden, insbesondere in großen Projekten oder bei Verwendung von Paketen mit vielen transitiven Abhängigkeiten.
Wenn Sie ausführen npm install, liest npm die package.json- und package-lock.json-Dateien in einem Entwicklungsprojekt, um diese Struktur zu erstellen und die erforderlichen Pakete abzurufen.
Grundlegendes zu npm install Warnungen
Wenn Sie ausführen npm install, wird in der Konsole häufig eine Flut von Warnungen angezeigt. Dies kann zunächst überraschend sein, aber es ist ein normaler Bestandteil der Arbeit im Node.js und Open Source Ökosystems. Microsoft-Tools, die aufrufen npm install, einschließlich des Yeoman-Generators für Office-Add-Ins, melden die gleichen Warnungen.
Es geht über den Rahmen dieses Artikels hinaus, jede Art von Warnung zu behandeln, die npm install möglicherweise gemeldet wird, aber es gibt zwei Arten, die besonders für Entwickler, die noch nicht mit der Node.js Welt arbeiten, beunruhigen.
Veraltete Warnungen
Diese Warnungen bedeuten, dass die Manager eines Pakets irgendwo in der Abhängigkeitsstruktur es nicht mehr verwalten und es möglicherweise zu einem späteren Zeitpunkt aus dem Internet entfernen. Weder Sie noch Microsoft haben die Kontrolle über die Paketveraltungswarnungen, aber Sie können sie fast immer ignorieren. Die Einstellung bedeutet nicht, dass das Paket nicht mehr funktioniert. Es funktioniert weiterhin, und da die Installation eine Kopie davon auf Ihrem Computer platziert, funktioniert es auch in Zukunft weiterhin mit Ihrem Projekt, auch wenn das Paket aus dem Internet entfernt wird. Das Paket ist kein Webdienst.
Es ist sehr unwahrscheinlich, aber möglich, dass eine Veraltetkeitswarnung für ein Paket angezeigt wird, das sich oben in der Abhängigkeitsstruktur befindet. Dies sind die Pakete, die explizit in den Abschnitten "Dependencies" oder "devDependencies" der package.json-Datei des Projekts aufgeführt sind. Sie können Veraltetkeitswarnungen für "devDependencies" aus demselben zuvor angegebenen Grund ignorieren: Der Code wird auf Ihren Entwicklungscomputer kopiert. Pakete im Abschnitt "Abhängigkeiten" werden von Ihrem Add-In zur Laufzeit verwendet, aber selbst Warnungen für diese können in Projekten ignoriert werden, die mit Microsoft-Tools wie dem Yeoman-Generator für Office-Add-Ins und dem Microsoft 365 Agent Toolkit erstellt werden, da diese Tools Kopien der Bibliotheken in JavaScript-Codebündeln enthalten, die vom Webserver Ihres Add-Ins bereitgestellt werden.
Hinweis
Eine Situation, in der die Einstellung einer Bibliothek im Abschnitt "Abhängigkeiten" bedenklich ist, ist die folgende:
- Die Bibliothek befindet sich nur im Abschnitt "Abhängigkeiten", sodass Sie sie beim lokalen Testen und Debuggen verwenden können.
- Wenn Sie das Add-In für das Staging oder die Produktion bereitstellen, ist es Ihr Plan, keine Kopie der Bibliothek in den Code einzuschließen, den Ihr Server hostet.
- Stattdessen planen Sie, dass das Add-In die Bibliothek aus einem Webdienst lädt, der npm-Bibliotheken hostet, z. B. unpkg.com oder cdn.jsdelivr.net.
Wenn dies Ihre Bereitstellungsstrategie beschreibt, besteht die Gefahr, dass Ihr bereitgestelltes Add-In nicht mehr funktioniert, wenn die veraltete Bibliothek aus dem Webdienst entfernt wird. Behandeln Sie die Warnung zur Veraltung als Hinweis, dass Sie Ihr Add-In so umgestalten müssen, dass es nicht die veraltete Bibliothek verwendet.
Sicherheits- oder Überwachungswarnungen
Sicherheitswarnungen, auch als Überwachungswarnungen bezeichnet, bedeuten, dass eine Version des Pakets in der Abhängigkeitsstruktur vorhanden ist, die ein bekanntes Sicherheitsrisiko aufweist, das ein Hacker nutzen kann. Microsoft sucht in regelmäßigen Abständen nach diesen Warnungen in Projekten, die von unseren Tools erstellt wurden, und behebt sie, indem die Bibliothek in der Regel auf eine neuere Version aktualisiert wird, die nicht über das Sicherheitsrisiko verfügt. Es werden jedoch fast täglich neue Sicherheitsrisiken entdeckt und an die Datenbanken von Sicherheitswarnungen gemeldet, die npm install überwacht werden, und Microsoft kann sie nicht immer sofort beheben. Aus diesem Grund ist es nicht ungewöhnlich, dass bei der Ausführung npm install in einem Add-In-Projekt Sicherheitsrisiken gemeldet werden.
Wenn die Abhängigkeit zu einem Paket der obersten Ebene im Abschnitt "devDependencies" von package.json nachverfolgt werden kann, können Sie sie ignorieren. Der Code wird nur auf Ihrem Computer ausgeführt, und Sie werden sich nicht selbst hacken.
Wenn die Abhängigkeit zu einem Paket der obersten Ebene im Abschnitt "Abhängigkeiten" führt oder Sie das Paket der obersten Ebene nicht ermitteln können, sollten Sie versuchen, die Sicherheitsanfälligkeit zu beheben, bevor Sie das Add-In in der Produktion bereitstellen. Im Internet finden Sie viele gute Informationen zum Umgang mit Sicherheitsrisiken in npm-Paketen. Wir Erwähnung hier eine Technik. Einige Sicherheitsrisiken können automatisch von npm behoben werden. Führen Sie einfach den Befehl npm audit fix in dem Ordner aus, in dem sich die package.json-Datei befindet. Wenn es eine neuere Version des Pakets gibt, die nicht über das Sicherheitsrisiko verfügt und die neuere Version keine Breaking Changes im Vergleich zur anfälligen Version aufweist, aktualisiert npm das Paket automatisch auf die sichere Version.
Eine weitere Strategie besteht darin, alle paar Wochen ein paar Minuten in Anspruch zu nehmen, um ein neues Add-In-Projekt mit demselben Microsoft-Tool wie Ihr ursprüngliches Projekt zu erstellen. (Wählen Sie die gleichen Optionen für Projekttyp, Sprache, Office-Anwendung usw.) Wenn npm install das Sicherheitsrisiko für das neue Projekt nicht mehr gemeldet wird, hat Microsoft es in der Projektvorlage behoben. Sie können die Korrektur mit den folgenden Schritten in Ihr Projekt verschieben.
- Kopieren Sie den Abschnitt "Dependencies" von aus dem neuen Projekt über denselben Abschnitt im package.json des ursprünglichen Projekts.
- Löschen Sie den ordner node_modules aus dem ursprünglichen Projekt.
- Führen Sie im ursprünglichen Projekt aus
npm install.
Fehler
Ein npm-Fehler, der sich von einer Warnung unterscheidet, beendet sofort die Verarbeitung des npm-Befehls, einschließlich npm install. Sie müssen das Problem diagnostizieren und beheben. Manchmal ist der Fehler eine Nebenwirkung eines temporären Netzwerkproblems, wenn npm versucht, ein Paket abzurufen. Versuchen Sie erneut, .npm install
Hinweis
Ausführen npm install ist die letzte Sache, die der Yeoman-Generator für Office-Add-Ins ausführt, wenn er ein Projekt erstellt. Wenn ein Fehler gemeldet wird, müssen Sie den Generator nicht erneut ausführen, da das Projekt vollständig erstellt wurde. Sie können einfach an der Befehlszeile erneut ausführen npm install .
Office Add-ins