Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can i use package management in NodeJS Azure Functions?

I'm trying to build this sample project as a Azure Function and it requires some packages https://github.com/OfficeDev/O365-Nodejs-Microsoft-Graph-App-only

I can see that I can use packet management in NodeJS Azure Functions using https://azure.microsoft.com/en-us/documentation/articles/functions-reference/#nodejavascript-api

I tried to use this

var request = require('request'); 

This statement

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')) 

So I created a project.json with this in it like the C# Azure Function uses:

{   "frameworks": {     "net46":{       "dependencies": {         "chalk": "^1.1.1",         "q": "^1.4.1",         "request": "^2.67.0"       }     }   } } 

and get this error

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). 

Should the project.json work?

like image 393
Jeremy Thake MSFT Avatar asked Apr 06 '16 20:04

Jeremy Thake MSFT


People also ask

How do I add a package to Azure?

Within Visual Studio, adding NuGet packages is easier; expand your dependencies, right-click and choose the option 'Manage NuGet Packages'. The NuGet Package dialogue will appear, and you can select any Nuget package you want to install for your Azure Function.

What is host json in Azure function?

The host. json file is a configuration file containing the values that affect all the functions of a function app. This file is created as soon as we add an Azure Function project. This file will have at least one field to begin with, indicating the runtime version of Azure Functions.


1 Answers

You can include your package.json in you function directory and run npm install as you normally would with Node.js projects using Kudu or the Console in the Azure portal.

More information can be found here: https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-node?tabs=v2#dependency-management

like image 200
Fabio Cavalcante Avatar answered Oct 11 '22 04:10

Fabio Cavalcante