[英]How do I tell lambda about all the npm dependencies?
我正在閱讀有關如何編寫Node Restful App的教程
https://github.com/mjhea0/node-postgres-promises
我想將此應用程序作為lambda函數運行。 我擔心的是依賴管理。
如何將所有npm依賴項告訴lambda?
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var pug = require('pug');
var routes = require('./routes/index');
在本教程中,他們進行npm install
,而aws則無用,我們沒有cli命令這樣的概念。
您可以在本地計算機上開發應用程序,並將所有npm依賴項安裝在您構建的項目中(在本地計算機中)。 完成開發后,請壓縮所有文件(包括package.config和npm_modules),然后將其上傳到lambda。 壓縮文件時請注意
請不要壓縮根文件夾。 打開根文件夾,選擇其中的所有文件和文件夾,然后右鍵單擊全部zip。
您在本地計算機(最好是Linux)上進行npm install
。 然后,在創建部署程序包時,將在其中包含node_modules
文件夾。
一旦上傳了該部署程序包(zip文件),Lambda就會知道您的node_modules
並將其與您的處理程序一起提取。
除了基本上為您提供正確答案的其他用戶外,我建議您試用Claudia.js,它是AWS Lambda的部署工具(至少與Node.js結合使用時)。
使用Claudia,您不必在AWS UI中進行設置,也不必擔心打包內容。 唯一的缺點是Claudia創建的程序包比具有相同代碼的手工構建的程序包要大,但是鑒於其優勢,我想說這是一個可以忽略的問題。
有關更多信息,請參見https://claudiajs.com/ 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.