កន្លង​មក​ ការសរសេរ​បង្ហាញ​លទ្ធផល​ផ្សេង​ៗ​ ត្រូវបាន​ធ្វើ​ឡើង​ដោយ​ប្រើប្រាស់​ក្បួន​ឈ្មោះ send នៅ​ក្នុង​សាស្ត្រា Express ។ ទន្ទឹម​នឹង​នេះ ដើម្បី​អាច​ប្រើប្រាស់​​ភាសា HTML អោយ​បាន​គ្រប់​ជ្រុងជ្រោយ យើង​ចាំបាច់​ត្រូវ​ប្រើប្រាស់​ភាសា​គំរូ​គេហទំព័រ​ណា​មួយ (templating language) ដើម្បី​អាច​បញ្ចូល​ទិន្នន័យ​ទាំង​ឡាយ ទៅ​ក្នុងលើទំព័រ HTML ។

 

នៅ​ក្នុង​ចំណោម​​ភាសា​គំរូ​គេហទំព័រ​សំរាប់ប្រើប្រាស​ជាមួយ​នឹងសាស្ត្រា Express, ភាសា EJS (Effective JavaScript) មានលក្ខណៈ​ងាយ​ស្រួលគួរ​សម​ដែរ ព្រោះ​វា​អនុញ្ញាត​អោយយើង​​អាច​ប្រើប្រាស់​ភាសា JavaScript លាយ​ឡំ​ជាមួយ​នឹង​ភាសា HTML ​បាន​តាម​សេចក្តី​ត្រូវការ។

 

ដើម្បី​អាច​ប្រើប្រាស់​ភាសា​នេះ​បាន​ យើងចាំបាច់ត្រូវ​ទាយ​យក​កម្មវិធី​របស់​ភាសា​នេះ​មកដំឡើង​នៅ​ក្នុង​កម្មវិធី​គេហទំព័រ​រប់ស​យើង​ ដោយ​ធ្វើដូច​ខាងក្រោម​នេះ៖

 

npm install ejs

 

បន្ទាប់ពី​មានកម្មវិធី EJS រួច​ហើយ គ្រប់​ឯកសារទាំងឡាយ​ណាដែល​ត្រូវ​បានសរសេរ​ជា​ភាសា EJS និង​មានឈ្មោះ .ejs នៅ​ខាង​ចុង​ នឹង​ត្រូវ​បក​ប្រែជា​ភាសា HTML ជា​ស្វ័យប្រវត្តិ នៅ​ពេល​ដែល​កម្មវិធី​គេហទំព័រ​មាន​ដំណើរការ​។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ៖

 

<!--views/base.ejs-->
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <title>Express.js Web Framework</title>
  </head>
  <body>
    <p>ស្វាគមន៍​មក​កាន់​កម្មវិធី Express.js!!</p>
  </body>
</html>

 

ក៏ប៉ុន្តែ ទោះ​ជា​យ៉ាងណាក៏​ដោយ មុន​នឹង​អាចអនុញ្ញាត​អោយ​កម្មវិធី EJS បកប្រែ​ឯកសារទាំងឡាយ​ដែល​ត្រូវ​បាន​រៀបរៀង​ឡើង​ដោយ​ប្រើប្រាស់​ភាសា EJS យើង​ចាំបាច់​ត្រូវ​ធ្វើ​ការកែកុន​មួយ​ចំនួន​នៅ​ក្នុង​ឯកសារ main.js ជា​មុន​សិន​។ ពិនិត្យកម្មវិធី​ខាង​ក្រោម​នេះ៖

 

//ការយក​តម្រា Express មកប្រើ
import express from 'express'
import path from 'path'

const app = express()
const port = process.env.PORT || 3000
const __dirname = path.resolve()
 
//ការយក​សាស្ត្រា index នៅ​ក្នុង​ថត routes មក​ប្រើ
import index from './routes/index.js'

//កំណត់​យក​ថត​ឈ្មោះ views សំរាប់​រក្សាទុក​ឯកសារ​ជា​ភាសា EJS ទាំងឡាយ​
app.set('views', path.join(__dirname, 'views'))
//កំណត់យក​កម្មវិធី EJS សំរាប់​បកប្រែ​​ឯកសារទាំងឡាយ​នៅ​ក្នុង​ថត​ឈ្មោះ views
app.set('view engine', 'ejs')

//ការយក​ក្បួន​នៅ​ក្នុង​សាស្ត្រា index មក​ប្រើ​ដើម្បី​ឆ្លើយ​តប​ទៅ​នឹង​សំណើរ​
//ដែល​មានអាស័យដ្ឋានជា​ទំព័រ​ដើម                                        
app.use('/',index) 

app.listen(port,function(){
    console.log(`This program is listening to the port: ${port}`)
})

 

បន្ទាប់​មក​ទៀត យើង​ចាំបាច់​ត្រូវ​ធ្វើ​ការកែកុន​នៅ​ក្នុង​ឯកសារ index.js ដើម្បី​អាច​យក​ឯកសារ​​សរសេរ​ជា​ភាសា EJS មក​ប្រើការ​។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ៖

 

/* ./routes/index.js */
import express from 'express'
const index = express.Router()
 
/* GET home page. */
index.get('/', function(req, res, next) {
    res.render('base')
})
 
export default index