Пакет timeago.js распространяется через менеджер пакетов
npm и может подключаться практически в любом современном
JavaScript-проекте: браузерных приложениях, Node.js-сервисах,
SPA-фреймворках и SSR-решениях.
Установка через npm обеспечивает:
Vite, Webpack,
Rollup);Перед подключением библиотеки необходим установленный:
pnpm,
yarn).Проверка доступности Node.js и npm:
node -v
npm -v
Пример результата:
v22.1.0
10.7.0
Если проект ещё не создан, используется инициализация npm:
npm init -y
После выполнения команды создаётся файл:
package.json
Этот файл хранит:
Пример минимального package.json:
{
"name": "timeago-project",
"version": "1.0.0"
}
Основная команда установки:
npm install timeago.js
Сокращённая форма:
npm i timeago.js
После установки npm:
node_modules;package.json;package-lock.json.Пример структуры каталогов:
project/
│
├── node_modules/
│ └── timeago.js/
│
├── package.json
├── package-lock.json
└── src/
После установки появляется секция dependencies:
{
"dependencies": {
"timeago.js": "^4.0.2"
}
}
^Запись:
"^4.0.2"
означает:
Возможные обновления:
4.0.3
4.1.0
4.5.8
Недопустимое обновление:
5.0.0
Иногда требуется фиксированная версия библиотеки.
Пример:
npm install timeago.js@4.0.2
Запись в package.json:
{
"dependencies": {
"timeago.js": "4.0.2"
}
}
Такая фиксация особенно полезна:
Обычно timeago.js используется как обычная
runtime-зависимость.
Стандартный вариант:
npm install timeago.js
Однако библиотеку можно установить и как
devDependency:
npm install -D timeago.js
Тогда запись попадёт в:
{
"devDependencies": {
"timeago.js": "^4.0.2"
}
}
Такой подход встречается редко, поскольку библиотека обычно используется в runtime браузера или сервера.
Современный вариант подключения:
import { format } from 'timeago.js';
Использование:
import { format } from 'timeago.js';
const result = format(new Date(Date.now() - 60000));
console.log(result);
Результат:
1 minute ago
Для старых Node.js-проектов:
const timeago = require('timeago.js');
console.log(
timeago.format(Date.now() - 60000)
);
Проверка через npm:
npm list timeago.js
Пример результата:
project@1.0.0
└── timeago.js@4.0.2
Удаление пакета:
npm uninstall timeago.js
npm автоматически:
node_modules;package.json;package-lock.json.Если каталог node_modules был удалён:
npm install
npm восстановит все зависимости из package.json.
npm create vite@latest
Переход в каталог проекта:
cd my-app
Установка зависимостей:
npm install
Подключение timeago.js:
npm install timeago.js
Файл:
main.js
Код:
import { format } from 'timeago.js';
const date = new Date(Date.now() - 3600 * 1000);
document.body.innerHTML = `
<h1>${format(date)}</h1>
`;
Установка:
npm install timeago.js
Импорт:
import { format } from 'timeago.js';
console.log(format(Date.now() - 5000));
Webpack автоматически включит библиотеку в итоговый bundle.
npm install timeago.js
import { format } from 'timeago.js';
function PostDate() {
const createdAt = Date.now() - 1000 * 60 * 15;
return (
<span>{format(createdAt)}</span>
);
}
export default PostDate;
Результат:
15 minutes ago
Пример компонента:
<script setup>
import { format } from 'timeago.js';
const createdAt = Date.now() - 1000 * 60 * 60;
</script>
<template>
<p>{{ format(createdAt) }}</p>
</template>
Файл:
server.js
Код:
import { format } from 'timeago.js';
const created = new Date(Date.now() - 86400000);
console.log(format(created));
Запуск:
node server.js
npm install timeago.js
Дополнительные типы обычно не требуются, поскольку библиотека содержит встроенные TypeScript-описания.
import { format } from 'timeago.js';
const date: Date = new Date();
console.log(format(date));
В системах непрерывной интеграции зависимости устанавливаются через:
npm ci
Отличия от npm install:
| npm install | npm ci |
|---|---|
| Может изменять lock-файл | Использует строго lock-файл |
| Медленнее | Быстрее |
| Подходит для разработки | Подходит для CI/CD |
Файл:
package-lock.json
фиксирует:
Это обеспечивает одинаковую установку библиотеки на разных машинах.
Альтернативный менеджер пакетов:
pnpm add timeago.js
Команда:
yarn add timeago.js
Просмотр информации о библиотеке:
npm info timeago.js
Просмотр установленной версии:
npm list timeago.js
Обновление до последней версии:
npm update timeago.js
Либо:
npm install timeago.js@latest
Команда:
npm outdated
Пример результата:
Package Current Wanted Latest
timeago.js 4.0.1 4.0.2 4.0.2
Причина:
Решение:
Причины:
node_modules;Решение:
npm install
или:
npm install timeago.js
Пример:
ERESOLVE unable to resolve dependency tree
Возможные решения:
npm install --legacy-peer-deps
или очистка:
rm -rf node_modules
rm package-lock.json
npm install
Пример минимального файла:
import { format } from 'timeago.js';
console.log(
format(Date.now() - 3000)
);
Если в консоли выводится:
just now
библиотека подключена корректно.
timeago.js поддерживает современную модульную
структуру.
Импорт:
import { format } from 'timeago.js';
позволяет сборщикам:
При использовании npm workspaces установка возможна:
npm install timeago.js -w frontend
где:
frontend
— имя workspace-пакета.
Стандартный вариант:
npm install timeago.js
Библиотека доступна только внутри проекта.
npm install -g timeago.js
Практически не используется, поскольку библиотека предназначена для импорта в код, а не для запуска как CLI-утилита.
Команда:
npm view timeago.js dist.unpackedSize
Позволяет оценить размер установленной библиотеки.
npm сохраняет пакеты в локальном кэше.
Повторная установка:
npm install
может происходить быстрее благодаря локально сохранённым архивам.
Очистка кэша:
npm cache clean --force
Пример Dockerfile:
FROM node:22
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
CMD ["node", "server.js"]
При наличии зависимости в package.json библиотека будет
автоматически установлена внутри контейнера.
Команда:
npm audit
Проверяет известные уязвимости зависимостей.
Автоматическое исправление:
npm audit fix
Только production-зависимости:
npm install --production
или:
NODE_ENV=production npm install
В этом случае devDependencies не устанавливаются.
timeago.js поддерживает:
Это делает библиотеку совместимой с большинством JavaScript-окружений.