Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure functions 如何在NodeJS Azure函数中使用包管理?_Azure Functions - Fatal编程技术网

Azure functions 如何在NodeJS Azure函数中使用包管理?

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

我正在尝试将此示例项目构建为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 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工件提要是否有任何性能优势?