ជាបឋម យើងចាំបាច់ត្រូវបង្កើតកម្មវិធី Express ថ្មីស្រឡាងមួយទៀត ក្នុងគោលបំណងឈានមួយជំហានម្តងៗទៅដល់ការបង្កើតកម្មវិធីគេហទំព័រមានប្រភេទជា Blog ដែលយើងនឹងធ្វើការសិក្សាយ៉ាងលំអិតនៅពេលខាងមុខនេះ។
យ៉ាងណាម៉ីញ យើងអាចរៀបចំបង្កើតកម្មវិធី Express ថ្មីរបស់យើងនេះ តាមរបៀបស្វ័យប្រវត្តិមួយ ដោយប្រើប្រាស់សាស្ត្រា express-generator ក្នុងការតំលើងកម្មវិធីនេះ។ ជាកិច្ចចាប់ផ្តើម យើងអាចតំលើងកម្មវិធី express-generator នេះបាន ដោយសរសេរនៅលើបង្អយចខ្មៅថា npm install -g express-generator ។ បន្ទាប់មកទៀត យើងត្រូវបង្កើតថតមួយដែលជាកម្មវិធី Express របស់យើងមានឈ្មោះដូចជា Kh-Blog ជាដើម។ រួចហើយ នៅលើបង្អួចខ្មៅ យើងត្រូវ CD ចូលទៅក្នុងថត Kh-Blog នោះ រួចសរសេរនៅលើបង្អួចខ្មៅនោះថា express --view=ejs យើងនឹងឃើញលទ្ធផលដូចខាងក្រោមនេះ៖
create : public\
create : public\javascripts\
create : public\images\
create : public\stylesheets\
create : public\stylesheets\style.css
create : routes\
create : routes\index.js
create : routes\users.js
create : views\
create : views\error.ejs
create : views\index.ejs
create : app.js
create : package.json
create : bin\
create : bin\www
install dependencies:
> npm install
run the app:
> SET DEBUG=test:* & npm start
C:\Kh-Blog>
ក្រោយពីនេះ យើងត្រូវតំលើងបណ្តាសាស្ត្រាចាំបាច់ទាំងឡាយនៃកម្មវិធី Express របស់យើង ដោយសរសេរនៅលើបង្អួចខ្មៅថា npm install ។ លុះមានអ្វីៗសព្វគ្រប់អស់ហើយ យើងអាចដំណើរការកម្មវិធីរប់សយើងបាន ដោយសរសេរនៅលើបង្អួចខ្មៅថា SET DEBUG=test:* & npm start និងបើក browser ចូលទៅកាន់អាស័យដ្ឋាន http://localhost:3000/ យើងឃើញលទ្ធផលដូចរូបខាងក្រោមនេះ៖

មួយវិញទៀត នៅក្នុងថតនៃកម្មវិធី Express របស់យើង ឯកសារមានឈ្មោះថា app.js គឺជាឯកសារមេនៃកម្មវិធី ហើយនៅក្នុងឯកសារនេះ មានការសរសេរកូដដូចខាងក្រោមនេះ៖
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', indexRouter);
app.use('/users', usersRouter);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
module.exports = app;