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
เป็นข้อกำหนดสำหรับแพ็คเกจนี้ในการทำงานเนื่องจากเว็บไซต์จำเป็นต้องติดตั้งโดยใช้เครื่องมือ templating
ติดตั้งการพึ่งพาที่ต้องการ:
npm install express ejs
ติดตั้งแพ็คเกจ EJS-static-converter:
npm install -g ejs-static-converter
โฟลเดอร์ A /public
and /views
ควรถูกสร้างขึ้นในโฟลเดอร์รูทของโครงการของคุณเพื่อมีมุมมอง. EJS และไฟล์สาธารณะใด ๆ เช่น CSS รูปภาพ ฯลฯ
เมื่อฟังก์ชั่นการแปลงไฟล์ HTML ทั้งหมดจะถูกสร้างขึ้นภายในไดเรกทอรี A /dist
ในโฟลเดอร์รูทของโครงการ
สร้างหน้าไฟล์กำหนดค่า pages.config.js
somwows ในโครงการของคุณเพื่อกำหนดหน้าเว็บที่จะแปลง นี่คือตัวอย่างการจัดเก็บไฟล์ config ในโฟลเดอร์ 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 ) ;
หากคุณไม่ต้องการเปลี่ยนแปลงหรือปรับปรุงให้เปิดคำขอดึงหรือแนะนำคุณสมบัติ/ข้อผิดพลาดเป็นปัญหา