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

时间:2016-06-09 07:31:38

标签: javascript stored-procedures azure-cosmosdb

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

1 个答案:

答案 0 :(得分:0)

我创建的名为URL Encoded的库对使用require(...)在您的sprocs中包含库的支持有限。注意,它不会独立地将它们加载到DocumentDB中以便从另一个sproc中调用它,它只是在每个需要它的sproc中内联它们。令人惊讶的是,你可以适应多大的图书馆,但它不是无限的。你在服务器上有一些库的多个副本,每个sproc中有一个需要它,但这似乎不是问题,我每次启动都会重新加载sprocs所以我不会有版本控制问题。我的项目中每个npm模块只有一个版本,因此无论它来自required多少个,都会加载相同的版本。

您可以使用许多具有此功能的npm模块,但不是全部。例如,我无法工作,所以我不得不接受下划线。我已经包含documentdb-utils如何在库中加载下划线和async.js。这是examples。这是test for loading and executing async.js

注意,我使用CoffeeScript创建了库。测试和大多数示例都在CoffeeScript中,但我在JavaScript中有一些示例。不过不用担心,因为您可以轻松地将CoffeeScript编译为JavaScript。 Web上有很多帮助可以实现自动化。