Вы не используете express.static()
для файлов, которые хотите изменить - это не то, что он делает.
Вместо этого вы создаете маршруты для конкретных URL-адресов, по которым вы хотите внести изменения, затем вы читаете файл с диска, вносите изменения и отправляете их обратно клиенту. Существуют десятки систем шаблонов для экосистемы Express (таких как EJS, Jade, Handlebars и т. Д.), Которые специально разработаны для решения этой проблемы. Или, если вы действительно хотите написать свой собственный файл, вы можете просто загрузить файл самостоятельно, внести любые необходимые изменения и затем отправить его.
app.get("/public/somefile", function(req, res) {
fs.readFile(path.join(__dirname, 'public', 'somefile'), function(err, data) {
if (err) {
res.sendStatus(404);
} else {
// modify the data here, then send it
res.send(data);
}
});
});
// put express.static after your other routes that serve from the public
// directory so those other routes are matched first
app.use('/public', express.static(path.join(__dirname, 'public')));