0.5.2 • Published 27 days ago

@tinkoff/module-loader-client v0.5.2

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
27 days ago

module-loader-client

Загрузчик модулей для браузерного окружения. Загружает js по урлу опционально вместе с css. Встроена дедубликация загрузки через атрибут скрипта loaded.

Установка

Для yarn:

yarn add @tinkoff/module-loader-client

Для npm:

npm install @tinkoff/module-loader-client

Подключение и использование

loadModule

В loadModule встроена дедубликация загрузки через поиск уже вставленного скрипта с тем же урлом, что позволяет инициировать загрузку скриптов на этапе разбора html, в этом случае вы должны самостоятельно навесить атрибут loaded скрипту, чтобы метод loadModule понимал загружен скрипт или еще нет:

<script
  src="https://cdn.example.com/bundle.js"
  onload="this.setAttribute('loaded', true)"
  onerror="this.setAttribute('loaded', 'error')"
/>

Пример использования:

import { loadModule } from '@tinkoff/module-loader-client';

loadModule('https://cdn.example.com/js/module.js', {
  cssUrl: 'https://cdn.example.com/js/module.css', // опционально
}).then(() => {
  // ...
});

addScript

Вставляет тег script без какой-либо допольнительной логике по дедубликации:

import { addScript } from '@tinkoff/module-loader-client';

addScript(src, maybeAttrs, maybeScriptHandler).then(() => something());

Коллбэк вызывается сихронно, в который передается непосредственно script элемент.

addLink

Вставляет тег link без какой-либо допольнительной логике по дедубликации:

import { addLink } from '@tinkoff/module-loader-client';

addLink(type, href, maybeAttrs).then(() => something());

Интерфейс и типы

@inline src/types.h.ts

0.6.2

27 days ago

0.5.2

27 days ago

0.6.1

1 month ago

0.4.10

8 months ago

0.4.9

10 months ago

0.5.0

7 months ago

0.5.1

7 months ago

0.4.8

1 year ago

0.4.7

1 year ago

0.4.6

1 year ago

0.4.5

1 year ago

0.4.4

2 years ago

0.4.3

2 years ago

0.4.2

2 years ago

0.3.28

2 years ago

0.3.27

2 years ago

0.3.26

2 years ago

0.3.25

2 years ago