Мне нравится использовать сложные функции в DocumentDB, внутри SP. Могу ли я загрузить библиотеку JS для вызова из SP?Можно ли загрузить библиотеку JS в DocumentDB?
ответ
Библиотека, которую я создал, называется documentdb-utils, имеет ограниченную поддержку для включения библиотек в ваши sprocs с использованием require(...)
. Обратите внимание, что он не загружает их в DocumentDB независимо, чтобы быть вызванным из другого sproc, он просто встраивает их в каждый sproc, который ему нужен. Удивительно, насколько велика библиотека, которую вы можете поместить, но она не является неограниченной. У вас будет несколько копий некоторых библиотек на сервере, по одному в каждом sproc, который ему нужен, но это не кажется проблемой, и я перезагружаю sprocs каждый раз при запуске, поэтому у меня нет проблемы с управлением версиями. В моем проекте есть только одна версия каждого модуля npm, поэтому один и тот же загружается независимо от того, сколько sprocs это required
.
Вы можете использовать многие модули npm с этой функциональностью, но не все. Например, я не мог заставить работать lowdash, поэтому мне пришлось согласиться на подчеркивание. Я включил examples о том, как загружать символы подчеркивания и async.js в библиотеке. Вот test for loading and executing async.js. Вот test for loading underscore.
Примечание. Я использую CoffeeScript для создания библиотеки. Тесты и большинство примеров приведены в CoffeeScript, но у меня есть несколько примеров в JavaScript. Не волнуйтесь, потому что вы можете легко скомпилировать CoffeeScript для JavaScript. В Интернете есть большая помощь в автоматизации.