អំពី តម្រា


នៅ​ក្នុង​ភាសា​ខ្មែរ​យើង ពាក្យ​ថា «តម្រា» គឺ​សំដៅលើ​ក្បួន​ខ្នាតទាំងឡាយ​ណាដែលត្រូវបាន​​កត់ត្រាទុក​សំរាប់​អ្នក​ឯទៀត​យក​ទៅ​​ប្រើប្រាស់​និង​ឬ​រៀន​សូត្រតាម។ ស្រដៀង​គ្នា​នេះ​ដែរ នៅក្នុងកម្មវិធី Node.js ពាក្យ​ថា «module» គឺ​សំដៅទៅលើ​ក្បួនខ្នាតទាំងឡាយ​ណា ដែលត្រូវ​បានបង្កើត​ឡើង​និងកត់ត្រា​ទុក​​សំរាប់​អោយ​អ្នកអភិវឌ្ឍ​កម្មវិធី​គេហទំព័រ​ដទៃ​ទៀត យ​កទៅ​​ប្រើប្រាស់​​តាម​សេចក្តី​ត្រូវការ​របស់​ពួក​គេ​។ ដូចនេះ​យើង​ឃើញ​ថា​ពាក្យ​ថា «តម្រា» ​នៅ​ក្នុង​ភាសា​ខ្មែរ ​មាន​ន័យ​គ្រប់គ្រាន់សំរាប់បកប្រែ​ពាក្យ​ថា «module» នៅ​ក្នុង​កម្មវិធី Node.js ។

មួយវិញទៀត នៅ​កម្មវិធី​​ Node.js ខ្លួន​វា​ផ្ទាល់​ ​​មាន​តម្រា​មួយចំនួន​ត្រូវ​បាន​បង្កើត​ឡើង​រួច​ជា​ស្រេច​ សំរាប់​​អោយ​យើង​យក​ទៅ​ប្រើ​ការ​ក្នុង​បរិបទ​ផ្សេង​ៗ​គ្នា​ជា​ច្រើន​រាប់​មិន​អស់​​ ​ក្នុងការអភិវឌ្ឍ​​កម្មវិធី​គេហទំព័រ​។ ឧទាហរណ៍​មាន​ដូចជា​តម្រា «HTTP» ​ជាដើម ដែល​យើង​អាច​យក​ទៅ​ប្រើការ​ក្នុង​ការបញ្ជូន​អត្ថបទ​ផ្សេង​ៗ​ពីក្នុង server ទៅ​កាន់​ browser រប​ស់​អ្នក​ចូល​មើល​កម្មវិធី​គេហទំព័រ​របស់​យើង​​​​ជា​ដើម​ ។ល។ និង ។ល។ ។

ជាទូទៅ ការយក​តម្រា​ណា​មួយ​មក​ប្រើ ត្រូវ​ធ្វើឡើង​តាមរយៈការប្រើ​បញ្ជា «require» ដូច​ខាង​ក្រោម​នេះ៖

var http = require('http');

var port = process.env.PORT || 8080;

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.end('កម្មវិធី​គេហទំព័រ Node.js');
}).listen(port);

នៅលើបន្ទាត់​លេខ 1 ការសរសេរ​ថា var http = require('http') ជា​ការយក​​តម្រា​មាន​ស្រាប់​ឈ្មោះ «http» មកប្រើ​​។

នៅ​លើបន្ទាត់​លេខ xxx ការសរសេរ​ថា http.createServer(function (req, res) គឺ​ជាំ​ការយកក្បួន​ឈ្មោះ «createServer» នៅ​ក្នុង​តម្រា «http» មក​ប្រើ​ដើម្បី​បង្កើត​ server មួយ​នៅ​ក្នុង​កំព្យូទ័រ​របស់​យើង​។

លើស​ពីនេះ​ទៀត ដើម្បី​បង្កើត​តម្រា​ណា​មួយ​សំរាប់​ប្រើប្រាស់​នៅ​ក្នុង​កម្មវិធី​គេហទំព័រ Node.js យើង​ត្រូវ​ប្រើប្រាស់​ពាក្យ​ថា «exports» ដោយ​ធ្វើ​ដូច​ខាង​ក្រោម​នេះ៖

exports.myDateTime = function(){
  return Date();
};

បើយើង​រក្សា​កម្មវិធី​ខាង​លើ​នេះ​ទុក ដោយ​ដាក់​ឈ្មោះថា​អ្វី​មួយ មាន​ដូច​ជា «myfirstmodule» ជាដើម វា​នឹង​ក្លាយ​ទៅ​ជា​តម្រា​មួយ​មាន​ឈ្មោះថា myfirstmodule នេះ​។ ជាលទ្ធផល គ្រប់​ឯកសារជា​ភាសា​​ JavaScript ទាំងឡាយ​ណាដែល​នៅ​ក្នុង​នោះ វត្ថុ​ផ្សេង​ៗ​ត្រូវ​បាន​បង្កើត​ឡើង​និង​ទុកនៅ​ក្នុង​វត្ថុ​មួយ​មាន​ឈ្មោះ​ថា «exports» គឺ​ជា​​តម្រា​​​។

var http = require('http');

//ការយក​តម្រា​ឈ្មោះ myfirstmodule មក​ប្រើការ
var dt = require('./myfirstmodule');

var port = process.env.PORT || 8080;

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write("កាលបរិច្ឆេទ​នៅ​ពេលនេះ​គឺ: " + dt.myDateTime());
  res.end();
}).listen(port);

នៅលើបន្ទាត់លេខ 4 ការសរសេរ​ថា var dt = require('./myfirstmodule') គឺជាការយក​តម្រា​ឈ្មោះ «myfirstmodule» នៅ​ក្នុង​ថត​ជាមួយ​នឹង​ឯកសារ​​ដែល​ជា​កម្មវិធី​កំពុង​ដំណើរការ​ យក​មក​ប្រើការ​៕