EJS-Static-Converterを使用すると、EJSテンプレートエンジンを使用しているノードアプリを、サーバーコードとは無関係に静的HTMLサイトに変換できます。これは、node.jsとEJSで作成されたアプリまたはWebサイトを、開発を容易にするために役立ちますが、サーバー側のコードは静的HTMLに必要としません。
また、パッケージには、ヘッダー、NavbarなどのHTMLパッケージなどの機能を新しいHTMLファイルにinclude
EJにも含まれます。
// Include the header HTML which contains universal tags, references and other metadata.
< % - include ( "index-header.ejs" ) - % >
express
とejs
テンプレートエンジンを使用してサイトをセットアップする必要があるため、このパッケージが機能するための要件です。
必要な依存関係をインストールします。
npm install express ejs
EJS-Static-Converterパッケージをインストールします。
npm install -g ejs-static-converter
A /public
および/views
フォルダをプロジェクトのルートフォルダーに作成して、.EJSビューとCSS、画像などのパブリックファイルを含む必要があります。
Convert関数が実行されると、すべてのHTMLファイルがプロジェクトのルートフォルダーのA /dist
ディレクトリ内で作成されます。
構成ファイルページを作成しますpages.config.js
プロジェクトのどこにでも、変換するページを定義します。これは、 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" } }
] ;
EJSサイトを静的HTMLサイトに変換するには、プロジェクトルートで次のコマンドを実行します。
ejs-static-converter ./src/utils/pages.config.js
/src/utils/pages.config.js
は、構成ファイルへのパスです。
サーバーをセットアップし、ejs-staticコンバーターを使用する方法の例を次に示します。
// 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 ) ;
変更や改善を行わない場合は、プルリクエストを開いたり、機能/バグを問題として提案したりします。