отслеживать изменение 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