Mit EJS-Static-Konverter können Sie eine Knoten-App konvertieren, die die EJS-Templating-Engine in eine statische HTML-Site verwendet, die unabhängig von jedem Servercode ist. Dies ist nützlich, um Apps oder Websites zu konvertieren, die mit Node.js und EJS für eine einfachere Entwicklung hergestellt wurden, jedoch keinen serverseitigen Code in statische HTML benötigen.
Das Paket wird außerdem alle EJS -Funktionen wie unten in das HTML -Paket wie einen Header, eine Navigationsleiste usw. in die neue HTML -Datei include
.
// Include the header HTML which contains universal tags, references and other metadata.
< % - include ( "index-header.ejs" ) - % >
express
und ejs
sind Anforderungen an dieses Paket, da die Website mit der Templating -Engine eingerichtet werden muss
Installieren Sie die erforderlichen Abhängigkeiten:
npm install express ejs
Installieren Sie das EJS-Static-Converter-Paket:
npm install -g ejs-static-converter
Der Ordner A /public
und /views
sollte im Stammordner Ihres Projekts erstellt werden, um die .ejs -Ansichten und alle öffentlichen Dateien wie CSS, Bilder usw. enthalten.
Wenn die Konvertierungsfunktion ausgeführt wird, werden alle HTML -Dateien im A /dist
-Verzeichnis im Stammordner des Projekts erstellt.
Erstellen Sie eine pages.config.js
. Hier finden Sie eine Beispiel -Konfigurationsdateispeicher im Ordner src/utils
:
// src/utils/pages.config.js
// Add pages to convert here:
module . exports = [
{ template : 'index.ejs' , output : 'index.html' , data : { title : "Home" } } ,
{ template : 'pages/page-2.ejs' , output : 'page-2/index.html' , data : { title : "Page 2" } } ,
{ template : 'pages/page-3.ejs' , output : 'page-3/index.html' , data : { title : "Page 3" } }
] ;
Um Ihre EJS -Site in eine statische HTML -Site umzuwandeln, führen Sie den folgenden Befehl in Ihrem Projektroot aus:
ejs-static-converter ./src/utils/pages.config.js
Wobei /src/utils/pages.config.js
der Pfad zu Ihrer Konfigurationsdatei ist.
Hier ist ein Beispiel für die Einrichtung Ihres Servers und die Verwendung des EJS-Static-Konverters:
// src/server.js
// Main dependencies
const express = require ( "express" ) ;
const app = express ( ) ;
const server = require ( "http" ) . Server ( app ) ;
// Declare ejs, JSON formatting and set static files folder.
app . set ( "view engine" , "ejs" ) ;
app . set ( "json spaces" , 2 ) ;
app . use ( express . static ( "public" ) ) ;
// Home
app . get ( "/" , ( req , res ) => {
res . render ( "index" , {
title : "Home" ,
} ) ;
} ) ;
// Page 2
app . get ( "/page-2" , ( req , res ) => {
res . render ( "pages/page-2" , {
title : "Page 2" ,
} ) ;
} ) ;
// Page 3
app . get ( "/page-3" , ( req , res ) => {
res . render ( "pages/page-3" , {
title : "Page 3" ,
} ) ;
} ) ;
// Initialise the server on port 3000.
server . listen ( 2000 ) ;
Wenn Sie keine Änderung oder Verbesserung vornehmen wollen, öffnen Sie eine Pull -Anfrage oder schlagen Sie eine Funktion/einen Fehler als Problem vor.