Сохранить жестко закодированную дату из Typescript в созданном Javascript? - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть серверный проект REST API, написанный на TypeScript, где я хочу видеть, когда были сгенерированы Javascripts.

В моих экспресс-маршрутах я хочу иметь маршрут под названием '/ version', который тольковозвращает строку «2018-12-19 08: 39: 00.000».

Есть ли в моем файле .ts простой способ убедиться, что сгенерированный файл .js получает фактическую временную метку от того, когда была выполнена транспиляция из .ts в .js?

Мой проект использует TSC для компиляции.Он не использует веб-пакет.

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Нет чистого / простого способа внедрить код в файл .js во время выполнения tsc, но вы можете сделать так, чтобы файл проверял свое время последнего изменения во время выполнения.

let fs = require('fs');

fs.stat("my-router-file.js", function(err, stats){
    var mtime = new Date(stats.mtime);
    console.log(mtime);
});

fs docs: https://nodejs.org/api/fs.html#fs_stats_mtime

0 голосов
/ 19 декабря 2018

Вы можете вставить имя каталога в качестве опции компилятора (--outDir).Он сгенерирует каталог с датой, когда начнется компиляция. Если вы используете машину linux, используйте команду date для генерации даты:

tsc --outDir "path/versions/$(date '+%Y-%m-%d %H:%M:%S')"

Вы можете использовать utc timestamp с date -u ...

Дополнительная информацияо date здесь: https://www.computerhope.com/unix/udate.htm

...