如何在Azure函数应用程序的文件之间共享代码(例如Mongo模式定义)?
我需要这样做,因为我的函数需要访问共享的Mongo模式和模型,例如以下基本示例:
var blogPostSchema = new mongoose.Schema({
id: 'number',
title: 'string',
date: 'date',
content: 'string'
});
var BlogPost = mongoose.model('BlogPost', blogPostSchema);
我曾试图在我的host.json文件中添加一行 "watchDirectories": [ "Shared" ],并在该文件夹中添加了一个index.js文件,其中包含上述变量定义,但是其他函数似乎无法使用它。
我得到了一个异常:Exception while executing function: Functions.GetBlogPosts. mscorlib: ReferenceError: BlogPost is not defined。
我还尝试了明确地需要.js文件,但好像找不到。可能是我路径写错了。
有没有人有关于如何在Azure函数之间共享.js代码的示例或提示?
BlogPost
很可能实际上是指向“模型”而不是“模式”定义的符号。此外,我怀疑您无法以那种方式在Azure函数中使用mongoose,因为我“假定”支持的功能仅限于“模式”本身。请参见Mongoose in the browser。 - Neil Lunn