После того как пакет установлен через npm или yarn, первостепенная задача — убедиться, что библиотека доступна в проекте и функционирует без ошибок. Неправильная установка или конфликт зависимостей могут привести к тому, что код будет подключаться без ошибок импорта, но работать некорректно.
После установки директория node_modules/timeago.js
должна существовать:
ls node_modules/timeago.js
Ожидаемое содержимое:
dist/
src/
package.json
README.md
Если директория отсутствует, установка не завершилась — следует повторить:
npm install timeago.js
В package.json проекта должна появиться запись в
dependencies:
{
"dependencies": {
"timeago.js": "^4.0.2"
}
}
Если запись отсутствует, а node_modules содержит пакет —
установка выполнялась без сохранения зависимости. В таком случае
установить повторно с явным сохранением:
npm install timeago.js --save
Создать тестовый файл check.js в корне проекта:
import { format } from 'timeago.js';
const result = format(Date.now() - 1000 * 60 * 5);
console.log(result);
Запустить через Node.js (с поддержкой ESM):
node --input-type=module < check.js
или через транспилятор:
npx babel-node check.js
Ожидаемый вывод:
5 minutes ago
Если проект использует CommonJS:
const { format } = require('timeago.js');
console.log(format(Date.now() - 60000));
Запуск:
node check.js
node -e "console.log(require('timeago.js/package.json').version)"
Или через npm:
npm list timeago.js
Вывод:
my-project@1.0.0
└── timeago.js@4.0.2
При подключении через CDN можно быстро проверить работоспособность в консоли браузера:
<script src="https://unpkg.com/timeago.js/dist/timeago.min.js"></script>
<script>
console.log(timeago.format(Date.now() - 10000));
</script>
Ожидаемый вывод в консоли:
10 seconds ago
Если проект использует бандлер, создать простой входной файл и запустить сборку в dev-режиме:
Vite:
npx vite
Webpack:
npx webpack --mode development
Отсутствие ошибок в выводе сборщика подтверждает корректную установку.
Некоторые версии timeago.js требуют Node.js ≥ 12. Проверить версию:
node --version
Возникает, когда CommonJS-проект пытается использовать ESM-пакет:
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module
Решение — использовать динамический импорт:
const { format } = await import('timeago.js');
или настроить type: "module" в
package.json.
Cannot find module 'timeago.js'
Причины:
node_modules.Решение:
npm install
Дополнительно стоит убедиться, что встроенные локали загружаются корректно:
import { format, register } from 'timeago.js';
import ru from 'timeago.js/esm/lang/ru';
register('ru', ru);
console.log(format(Date.now() - 3600000, 'ru'));
Ожидаемый вывод:
1 час назад
В CI-пайплайне можно добавить простой тест, проверяющий доступность библиотеки:
import { format } from 'timeago.js';
const result = format(Date.now() - 1000);
if (typeof result !== 'string') {
throw new Error('timeago.js installation check failed');
}
console.log('timeago.js OK:', result);
Такой сценарий позволяет обнаружить проблемы установки на ранних этапах сборки.