EJS-Static-Converter позволяет вам преобразовать приложение узла, которое использует механизм шаблона EJS в статический сайт HTML, независимо от любого кода сервера. Это полезно для преобразования приложений или веб-сайтов, которые были сделаны с Node.js и EJS для более легкой разработки, но не требуют кода на стороне сервера в статический HTML.
Пакет также будет отображать любые EJS include
функции, подобные ниже, в пакет HTML, такие как заголовок, Navbar и т. Д., В новый HTML -файл.
// 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
Foper должна быть создана в корневой папке вашего проекта, чтобы содержать представления .ejs и любые общедоступные файлы, такие как CSS, изображения и т. Д.
Когда функция преобразования запускается, все файлы HTML будут созданы в каталоге A /dist
в корневой папке проекта.
Создайте страницы файлов конфигурации. pages.config.js
Somwhere в вашем проекте, чтобы определить страницы, которые будут преобразованы. Вот пример хранилища файла конфигурации в папке 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-Converter:
// 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 ) ;
Если вы не хотите вносить изменения или улучшения, откройте запрос на вытяжение или предложите функцию/ошибку в качестве проблемы.