38 lines
1.0 KiB
JavaScript
38 lines
1.0 KiB
JavaScript
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
|
|
function loadJS(file, callback){
|
|
fs.readFile(file, { encoding: 'utf-8' }, (err, data) => {
|
|
if(err){
|
|
console.error(err);
|
|
}else {
|
|
let service = eval(data);
|
|
callback(service);
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
module.exports.loadService = (file, callback) => {
|
|
let file_ext = file.match(/\.[0-9a-z]+$/i)[0];
|
|
fs.exists(file, exists => {
|
|
if(exists){
|
|
fs.stat(file, (err, stats) => {
|
|
if(err){
|
|
console.error(err);
|
|
}else {
|
|
let modtime = stats.mtimeMs;
|
|
let cb = service => {
|
|
service = service || {};
|
|
service.modMs = modtime;
|
|
callback(service);
|
|
}
|
|
switch(file_ext){
|
|
case '.js': loadJS(file, cb); break;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} |