Клиентская библиотека Javascript для доступа к HTTP API Typesense.
Эту библиотеку можно использовать как на стороне сервера, так и на стороне клиента. Исходный код библиотеки находится в ES6, и во время сборки мы транспилируем его в ES5 и генерируем два артефакта — один, который можно использовать на стороне сервера, и другой, который использует Browserify и может использоваться на стороне клиента.
npm install --save typesense
Установите одноранговые зависимости:
npm install --save @babel/runtime
Примечание. @babel/runtime
— очень распространенная зависимость среди многих JS-библиотек. Таким образом, вместо того, чтобы каждая библиотека добавляла ее в качестве зависимости независимо (что приведет к установке нескольких экземпляров @babel/runtime
с увеличением размера пакета), рекомендация Babel состоит в том, чтобы библиотеки просили пользователей установить ее один раз в качестве прямой зависимости, поэтому остается только одна копия @babel/runtime
для всего проекта. В некоторых случаях ваша JS-инфраструктура может уже включать @babel/runtime
в качестве зависимости.
< script src =" dist/typesense.min.js " > </ script >
или через jsDelivr
< script src =" https://cdn.jsdelivr.net/npm/typesense@1/dist/typesense.min.js " > </ script >
Подробные примеры читайте в документации: https://typesense.org/docs/api/.
Тесты также являются хорошим источником информации о том, как библиотека работает внутри: test
Примечание. При использовании этой библиотеки в браузере обязательно используйте ключ API, который разрешает только операции поиска, а не master
ключ API. См. документ doc/examples/server/keys.js, где приведен пример создания ключа API только для поиска.
См. Configuration.ts для получения списка всех параметров конфигурации клиента.
Вот несколько примеров со встроенными комментариями, которые помогут вам использовать клиент: doc/examples.
Чтобы запустить примеры из корня репо:
npm run typesenseServer
node doc/examples/server/bulkImport.js
Если вы используете GatsbyJS в качестве фреймворка, у нас есть плагин (который за кулисами использует typesense-js) для автоматической передачи данных вашего сайта в Typesense при создании вашего сайта. Узнайте больше здесь.
Если вы используете Firebase, у нас есть расширение Firebase (которое за кулисами использует typesense-js) для автоматической отправки ваших данных Firestore в Typesense. Узнайте больше здесь.
Ознакомьтесь с Typesense-InstantSearch.js (в котором используется typesense-js) для компонентов пользовательского интерфейса, которые можно использовать для быстрого создания эффективных возможностей мгновенного поиска.
Эта таблица относится к совместимости сервер=>клиент. Новые версии клиентской библиотеки поддерживают обратную совместимость со старыми версиями серверной библиотеки.
Типсенс сервер | TypeSense-JS |
---|---|
>= v27.0.rc20 | >= v2.0.0 |
>= v0.26.0.rc38 | >= v1.8.0 |
>= v0.25.0 | >= v1.7.0 |
>= v0.24.0 | >= v1.5.0 |
>= v0.23.0 | >= v1.3.0 |
>= v0.21.0 | >= v0.14.0 |
>= v0.20.0 | >= v0.12.0 |
>= v0.19.0 | >= v0.11.0 |
>= v0.18.0 | >= v0.10.0 |
>= v0.17.0 | >= v0.9.0 |
>= v0.16.0 | >= v0.8.0 |
>= v0.15.0 | >= v0.7.0 |
>= v0.12.1 | >= v0.5.0 |
>= v0.12.0 | >= v0.4.7 |
<= v0.11 | <= v0.3.0 |
После проверки репозитория запустите npm install
чтобы установить зависимости. Затем запустите npm test
чтобы запустить линтер и тесты.
Для выпуска новой версии мы используем пакет np:
$ npm install --global np
$ np
# Follow instructions that np shows you
Отчеты об ошибках и запросы на включение приветствуются на GitHub по адресу https://github.com/typesense/typesense-js.