0

Ich schreibe Dienste mit Serverless Framework & Azure Functions. Beispiele da draußen sind sehr einfach. Aber wenn ich versuche, einen Schritt weiter zu gehen, stoße ich auf Probleme. Derzeit lernen von AWS Lambda und dann versuchen, es auf Azure Functions zu implementieren.Serverless Framework mit Azure-Funktionen

Das Ziel der so tut:

1) Implementieren Sie Funktionen wie es6 Klassen und dann mit webpack das Projekt zu bauen.

2) Finden Sie eine richtige Projektstruktur, die sinnvoller ist.

3) Folgen Sie dem SoC-Muster.

Ich habe ein github Projekt https://github.com/GeekOnGadgets/serverless-azure-settings erstellt und wenn ich versuche, dieses Projekt zu bauen serverless package es .serverless Ordner und im Innern schafft es .zip Datei (die kompilierte Version). Das, was ich verstehe, wird in Azure eingesetzt, wenn Sie serverless deploy ausführen. Aber wenn ich Azure überprüfe, ist die Funktion nur Entwicklungscode und nicht der kompilierte (siehe Code unten).

Kann mir bitte jemand dabei helfen. Irgendwelche Vorschläge werden geschätzt.

+0

mit js es meist bündelt und die Zusammenstellung geschieht in der Client-Seite/Browser. Soweit es azure Funktionen betrifft, bin ich nicht sicher, ob Sie sie bündeln und Buildpacks erstellen müssen. Sie sind einfache Funktionen, die Sie erstellen. – Aravind

Antwort

0

In der Tat javascript azure Funktionen laufen auf nodejs so commonjs Module sind das natürliche Format. Der Knoten unterstützt nativ auch viel von ES6, obwohl die Version der Funktionen des Knotens möglicherweise nicht die neueste ist.

jedoch gibt es ein aktuelles Geschwindigkeitsproblem mit dem Laden aller Abhängigkeiten in node_modules. Dies ist auf den Dateizugriff zurückzuführen, daher gibt es eine Problemumgehung, um alles in ein einziges Skript zu bündeln, welches package.json -> main points to.

Ich kann nicht kommentieren, wie das mit serverless passt, aber vielleicht wird dies helfen, zu klären.

0

Soweit ich weiß, Node.js noch not support ES6 Syntax für Module importieren/exportieren. Siehe auch here.

versuchen, ein neues deploy von

Ändern
import Settings from './src/Settings/Settings' 

zu

const Settings = require('./src/Settings/Settings') 
Verwandte Themen