Azure functions 如何在NodeJS Azure函数中使用包管理?
我正在尝试将此示例项目构建为Azure函数,它需要一些包 我可以看到,我可以在nodejsazure函数中使用数据包管理 我试着用这个Azure functions 如何在NodeJS Azure函数中使用包管理?,azure-functions,Azure Functions,我正在尝试将此示例项目构建为Azure函数,它需要一些包 我可以看到,我可以在nodejsazure函数中使用数据包管理 我试着用这个 var request = require('request'); 此声明 You can include packages in your function directory (i.e. via npm install) and then import them to your function in the usual ways (i.e. via re
var request = require('request');
此声明
You can include packages in your function directory (i.e. via npm install) and then import them to your function in the usual ways (i.e. via require('packagename'))
因此,我创建了一个project.json,其中包含以下内容,就像C#Azure函数使用的那样:
{
"frameworks": {
"net46":{
"dependencies": {
"chalk": "^1.1.1",
"q": "^1.4.1",
"request": "^2.67.0"
}
}
}
}
然后得到这个错误
2016-04-06T19:49:42.026 Exception while executing function: Functions.MicrosoftGraphWebHookNode. mscorlib: One or more errors occurred. Error: Cannot find module 'request'
at Function.Module._resolveFilename (module.js:339:15)
at Function.Module._load (module.js:290:25)
at Module.require (module.js:367:17)
at require (internal/module.js:16:19)
at Object.<anonymous> (D:\home\site\wwwroot\MicrosoftGraphWebHookNode\index.js:1:77)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Module.require (module.js:367:17).
2016-04-06T19:49:42.026执行函数时出现异常:Functions.MicrosoftGraphWebHookNode。mscorlib:发生了一个或多个错误。错误:找不到模块“请求”
在Function.Module.\u解析文件名(Module.js:339:15)
在Function.Module.\u加载(Module.js:290:25)
at Module.require(Module.js:367:17)
根据需要(内部/module.js:16:19)
反对。(D:\home\site\wwwroot\MicrosoftGraphWebHookNode\index.js:1:77)
在模块处编译(Module.js:413:34)
在Object.Module._extensions..js(Module.js:422:10)
在Module.load(Module.js:357:32)
在Function.Module.\u加载(Module.js:314:12)
在Module.require(Module.js:367:17)。
project.json是否可以工作?您可以将您的
包.json
包含在功能目录中,并运行npm install
,就像您通常使用Kudu或Azure门户中的控制台运行Node.js项目一样
更多信息可在此处找到:
我做了类似的事情,SMTP在不使用SendGrid的情况下工作。 下面是我的azure函数代码
const nodemailer=require('nodemailer');
module.exports=异步函数(上下文,myTimer){
让transport=nodeEmailer.createTransport({
主机:“”,
港口:2525,
认证:{
用户:“”,
通行证:“”
}
});
常量消息={
发件人:'',//发件人地址
到:“”,//收件人列表
主题:“”,//主题行
文本:“”//纯文本正文
};
transport.sendMail(消息、函数(错误、信息){
如果(错误){
console.log(错误)
}否则{
控制台日志(信息);
}
});
};代码>谢谢。完全有道理,现在这将是如何挂在一起。更新的链接为包管理:这里是步骤做到这一点在库杜:开放“https://.scm.azurewebsites.net/DebugConsole“在浏览器中;“cd站点\wwwroot\”;“npm安装”。在Azure功能控制台中安装这些软件包需要花费大量时间。我可以看到node_modules文件夹已创建,但所有包都在.staging下folder@Fabio是否可以在功能应用程序级别而不是功能级别安装它们?使用Azure工件提要是否有任何性能优势?