Обновите «дату последнего изменения» файла - PullRequest
0 голосов
/ 26 января 2020

Я хочу установить дату последнего изменения файла на текущую дату, чтобы избежать кэширования Parcel (к сожалению, я не нашел лучшего способа).

Так что я пишет, что:

const fs = require('fs');
const file = 'test.txt';

// save the content of the file
const content = fs.readFileSync(file);

// modify the file
fs.appendFileSync(file, ' ');

// restore the file content
fs.writeFileSync(file, content);

Это работает, но ме ...
Это действительно уродливо и очень медленно и занимает много памяти для больших файлов.

1 Ответ

2 голосов
/ 26 января 2020

Адаптировано из https://remarkablemark.org/blog/2017/12/17/touch-file-nodejs/:

const fs = require('fs');
const filename = 'test.txt';
const time = new Date();

try {
  fs.utimesSync(filename, time, time);
} catch (err) {
  fs.closeSync(fs.openSync(filename, 'w'));
}

fs.utimesSyn c используется здесь для предотвращения перезаписи существующего содержимого файла.

Это также обновляет временную метку последнего изменения файла, что согласуется с тем, что делает POSIX touch.

...