Modèle PASCAL et HTMX / Plate-plaque
Ce projet vise HTMX Frontend avec (rapide) backend CGI écrit dans Object Pascal à l'aide du compilateur Freepascal et des LIB. Il peut également être compilé en tant que serveur autonome.
Site Web et documents officiels de HTMX
Docs CGI freepascal
Vous devez avoir au moins le compilateur Freepascal installé sur votre environnement (et disponible dans votre chemin) et Python 3 (à utiliser comme serveur Web local) afin de faire fonctionner ce modèle de base CGI + HTMX.
Étape 1: cloner ce repo
Étape 2: Ouvrez le dossier cloné dans VSCODE
Étape 3: Terminal ouvert à l'intérieur de VScode
Étape 4: Exécutez l'exemple
- Ouvrez le terminal à l'intérieur de VSCODE
- sur Windows compile / exécutez avec
.scriptsbuildDev.ps1 - sur Linux ou MacOS compile / exécutez avec
./scripts/buildDev.sh - Projet d'accès sur
http://localhost:3000 - Vérifiez votre navigateur pour voir si le projet fonctionne
- Ctrl + C sur le terminal VScode pour arrêter le serveur
Extensions VScode recommandées
- htmx-tags
- Omnipascal - Open Aperçu
Que télécharger sur mon propre serveur?
- Projet d'accès dans le dossier
dev et télécharger sur votre serveur - Veuillez noter que certains serveurs ont des chemins spéciaux pour le dossier CGI-BIN
- Si vous utilisez comme serveur autonome, configurez-le comme vous en avez besoin (le code est commenté)
- Vous pouvez rendre le CGI (ou l'application) plus petit en utilisant des options de compilateur FPC pour répondre à vos besoins
Dépendances
- Afin de démarrer le serveur Web local appelé par le script Dev, vous devez installer Python3 sur votre machine
Puis-je l'utiliser avec PAS2JS?
Si vous parlez de PAS2JS dans le backend en tant qu'application NodeJS / BUN, oui. Tout backend qui reçoit les demandes et les sorties HTML peut être utilisé.
Puis-je mélanger cela avec PAS2JS dans le frontend?
En plus d'être possible, l'utilisation de HTMX signifie généralement l'utilisation de moins de javascript, donc le mélange de PAS2J (Pascal transpiré en JavaScript) irait contre elle et pourrait entraîner des problèmes inutiles et une taille ajoutée. Mais tout dépend de ce que vous devez faire.