【发布时间】:2019-10-24 00:12:39
【问题描述】:
我正在使用 NodeJS 10 创建多个 lambda。许多函数都有共享代码,包含在每个函数中,所以整体结构如下:
project/
function1/
api.js
serverless.yml
function2/
api.js
serverless.yml
function3/
api.js
serverless.yml
shared/
http/
index.js
node_modules/
intercom/
index.js
node_modules/
每个serverless.yml 都包含如下函数声明:
functions:
test-database-connection:
package:
include:
- ../shared/http/**
- ../shared/intercom/**
- ./node_modules/**
- ./api.js
handler: api.connectivityDatabase
events:
- http:
path: /api/test/database
method: post
在开发过程中它可以工作,也可以离线工作,但打包后它变得无法使用,因为包更改了shared文件夹的相对路径,例如:
package.zip/
shared/
http/
...
intercom/
...
api.js
是否可以在包中保持与开发期间相同的结构?或者任何其他方法来修复在本地和 AWS 上都可以使用的模块路径?
【问题讨论】: