You are doing it generally wrong.
Please read require
. It is used to load modules for node.js and execute it. Not for actually serving files for requests via http.
require
will always cache execution results and will keep reference of module, and you have to clear it manually - but as mentioned above this is not your case.
Please read this great post: Nodejs send file in response that describes how to send files via node.js.
You can set no-cache header for it as well, but it is a 'bad way' of doing things. You might better not touch any headers at all, and do extra query on front-end, but even not always.
res.header('Cache-Control', 'no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0');