是否可以将 JS 库加载到 DocumentDB?

Is it possible to load a JS library to DocumentDB?

我喜欢在 SP 中使用 DocumentDB 中的复杂函数。 我可以加载一个 JS 库以从 SP 调用吗?

我创建的名为 documentdb-utils 的库对使用 require(...) 将库包含在存储过程中的支持有限。请注意,它不会将它们独立加载到 DocumentDB 中以从另一个存储过程中调用,它只是将它们内联到需要它的每个存储过程中。令人惊讶的是,您可以容纳多大的库,但它不是无限的。您将在服务器上拥有某些库的多个副本,每个需要它的存储过程中都有一个,但这似乎不是问题,每次启动时我都会重新加载存储过程,因此我没有版本控制问题。我的项目中每个 npm 模块只有一个版本,因此无论它来自 required 多少存储过程,都会加载同一个版本。

您可以使用许多具有此功能的 npm 模块,但不是全部。例如,我无法让 lowdash 工作,所以我不得不接受下划线。我包括了 examples of how to load underscore and async.js in the library. Here is the test for loading and executing async.js. Here is the test for loading underscore.

请注意,我正在使用 CoffeeScript 创建库。测试和大部分示例都在 CoffeeScript 中,但我在 JavaScript 中有一些示例。不过不用担心,因为您可以轻松地将 CoffeeScript 编译为 JavaScript。网络上有很多关于自动执行此操作的帮助。