Использование rlottie, pako и webworker позволяет реализовать на фронтенде анимационные эффекты Lottie. Например, можно воссоздать анимацию с сайта Telegram или запустить локальную демонстрацию через npm run dev.
Преимущества: меньший объём — требуется всего 835 КБ библиотечных файлов и около 10 КБ материалов.
const pako = require('pako')
const fs = require('fs')
// Рекомендуется сначала сжать файл json: jq -c . < input.json > input.mini.json
fs.readFile('./json/xxx.json', null, function (err, data) {
if (err) {
console.log(err)
}
try {
const buffer = pako.deflate(data, { level: 9 });
fs.writeFile('./json/xxx', buffer, 'binary', function (err) {
console.log(err)
})
} catch (e) {
console.log(e)
}
})
<picture class="rlottie_image">
<source type="application/x-rlottie" srcset="xxx">
</picture>
Поместите файлы
Файлы wasm преобразованы в base64 и включены в код.rlottie-worker.[hash].js
и rlottie-wasm.wasm
из каталога модуля в каталог статических ресурсов, чтобы упростить загрузку модулей.
import Rlottie from '@sternelee/rlottie'
window.onload = () => {
document.querySelectorAll('.rlottie_image').forEach(function (imgEl) {
RLottie.init(imgEl, {});
});
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )