отслеживать изменение json.js
This commit is contained in:
62
сервер.js
Normal file
62
сервер.js
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
const fs = require("fs");
|
||||||
|
const http = require("http");
|
||||||
|
const path = require("path");
|
||||||
|
|
||||||
|
var jsonUpdates = {};
|
||||||
|
|
||||||
|
const srv = http.createServer(process);
|
||||||
|
srv.listen(8000);
|
||||||
|
fs.watch(__dirname, trackJSONUpdates);
|
||||||
|
|
||||||
|
function process(req, res)
|
||||||
|
{
|
||||||
|
var fileName = "." + decodeURI(req.url);
|
||||||
|
if (fileName == "./")
|
||||||
|
{
|
||||||
|
fileName = "./index.html";
|
||||||
|
}
|
||||||
|
else if (fileName == "./json.js")
|
||||||
|
{
|
||||||
|
const content = Object.keys(jsonUpdates).sort().join("\n");
|
||||||
|
jsonUpdates = {};
|
||||||
|
res.writeHead(200);
|
||||||
|
res.end(content, "utf-8");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
console.debug("fileName:", fileName);
|
||||||
|
const ext = path.extname(fileName);
|
||||||
|
var contentType = "text/html";
|
||||||
|
switch (ext)
|
||||||
|
{
|
||||||
|
case ".js":
|
||||||
|
contentType = "text/javascript";
|
||||||
|
break;
|
||||||
|
case "png":
|
||||||
|
contentType = "image/png";
|
||||||
|
break;
|
||||||
|
case "jpg":
|
||||||
|
contentType = "image/jpg";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
fs.readFile(fileName, function(err, content) {
|
||||||
|
if (err)
|
||||||
|
{
|
||||||
|
res.writeHead(500);
|
||||||
|
res.end(err.code);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
res.writeHead(200, { "Content-Type": contentType });
|
||||||
|
res.end(content, "utf-8");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function trackJSONUpdates(eventName, fileName)
|
||||||
|
{
|
||||||
|
if (!fileName.endsWith("json.js"))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
jsonUpdates[fileName] = true;
|
||||||
|
console.debug("fileName", fileName);
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user