web-dev-qa-db-ja.com

NodeJS Azure Functionsでパッケージ管理を使用するにはどうすればよいですか?

このサンプルプロジェクトをAzure関数としてビルドしようとしていますが、いくつかのパッケージが必要です https://github.com/OfficeDev/O365-Nodejs-Microsoft-Graph-App-only

https://Azure.Microsoft.com/en-us/documentation/articles/functions-reference/#nodejavascript-api を使用してNodeJS Azure Functionsでパケット管理を使用できることがわかります。

これを使ってみた

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

そこで、C#Azure Functionが使用するように、これを含むproject.jsonを作成しました。

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

Project.jsonは動作しますか?

19

関数ディレクトリにpackage.jsonを含めて、AzureポータルのKuduまたはコンソールを使用してNode.jsのプロジェクトで通常行うようにnpm installを実行できます。

詳細については、こちらをご覧ください: https://Azure.Microsoft.com/en-us/documentation/articles/functions-reference/#node-version-amp-package-management

28