Ich habe eine grundlegende Knoten-Webanwendung mit Express, die eine Abhängigkeit von der Node-Sass-Bibliothek hat.Express App mit Node-sass auf Azure App Service
Dies wird auf einem Win64-Server erstellt, so dass während der npm-Installation Teil des Builds die x64-Version der verbindlichen Binärdatei aufgrund der aktuellen Umgebung heruntergeladen wird.
Wenn seine zu Azure App Service implementiert sie einen Laufzeitfehler aufgrund von Unverträglichkeit mit dem Knoten-sass Bindung binären wirft, als 32-Bit-Knoten in Azure App Dienst läuft ...
Error: Missing binding D:\home\site\wwwroot\node_modules\node-sass\vendor\win32-ia32-48\binding.node Node Sass could not find a binding for your current environment: Windows 32-bit with Node.js 6.x
Found bindings for the following environments: - Windows 64-bit with Node.js 6.x
Wenn i in explizit überprüfen the 32bit binding und wieder stelle ich manchmal erhalten einen 502-Gateway-Fehler ...
502 - Web server received an invalid response while acting as a gateway or proxy server. There is a problem with the page you are looking for, and it cannot be displayed. When the Web server (while acting as a gateway or proxy) contacted the upstream content server, it received an invalid response from the content server.
und andere Zeiten, ich bekomme einfach eine 500, aber es nicht mehr schreibt den Fehler in das Protokoll.
Die App hängt explizit von Node-Sass-Middleware Paket Version 0.11, die von Node-Sass 4.3.0 abhängt.
Ohne Fehlerprotokolle bin ich in einer Sackgasse. Sind Sie schon einmal auf dieses Problem gestoßen, und wenn ja, wie haben Sie es gelöst?
Vielen Dank für Ihre Eingabe, der App Service Editor ist definitiv nützlich. Am Ende haben wir gulp-sass verwendet und npm rebuild node-sass ausgeführt, um die Bindung herunterzuladen, bevor npm install ausgeführt wurde. Wir mussten auch web.config modifizieren, um dynamische Anfragen an bin/www zu senden. Wir sind jetzt auf ein endgültiges Problem fest, das auf die Tatsache zurückzuführen ist, dass iisnode anscheinend aus dem bin-Verzeichnis ausgeführt wird, was bedeutet, dass alle Verweise auf Dateien relativ zum Stamm der App wie ./data/stuff.json nicht gefunden werden und führen zu einem Fehler von 500. Dies ist nicht ideal - ist der einzige Weg, um nicht bin/www-Datei zu verwenden? – Baldy
Es scheint, dass Ihr neues Problem komplex ist. Es gibt einen Eingang Ihrer Anwendung wie 'app.js' oder' server.js' im root-Verzeichnis, und wir müssen den 'handler' und' url lineal' in 'web.cofnig' konfigurieren. Wie das Beispiel bei https://github.com/tjanczuk/iisnode/blob/master/src/samples/express/web.config. Übrigens kann ich Ihnen im Kommentar kaum klar folgen, und Ihre weitere Frage scheint wenig mit Ihrer ursprünglichen Frage zu tun zu haben. Ich empfehle Ihnen daher, eine neue Frage zu SO zu stellen, mit detaillierteren Nachrichten zu Ihrem neuen Problem. Vielen Dank. –
Ja, es gab 2 Probleme im Spiel, beide jetzt gelöst. Wird meine Antwort zu diesem Beitrag hinzufügen. Danke für deine Anregungen, es war hilfreich – Baldy