我正在将我的一些JS代码转换为typescript,当使用无服务器框架在AWS上部署到一个lambda并运行它时,我得到以下错误。起初,我认为我的进口是不好的,但看起来一切都是预期的。
{“errortype”:“runtime.importmoduleerror”,“errormessage”:“error:找不到模块'tslib'\n需要堆栈:\n-/var/task/handlers/create.js\n->/var/runtime/userfunction.js\n-/var/runtime/index.js”,“trace”:[“runtime.importmoduleerror:error:找不到模块'tslib'”,“需要堆栈:”,“-/var/task/handlers/create.js”,“
无服务器:
functions:
createFamily:
name: ${self:custom.createFamilyName}
handler: handlers/Create.createFamily
description: Lambda for Creating a family in the family service
timeout: 30
events:
- http:
path: /family
method: post
private: true
处理程序:
import { APIGatewayEvent, Context, ProxyResult } from 'aws-lambda';
import { utilities } from '../handlers/utilities';
import { familyService } from '../services/FamilyService';
import { IFamily } from '../interfaces/IFamily';
let familyData: IFamily;
let serverReturn: IFamily;
export const createFamily = async (
event: APIGatewayEvent,
context: Context
): Promise<ProxyResult> => {
try {
if (!event.body) {
return utilities.BuildResponse(400, JSON.stringify('Object to create was not provided'));
}
familyData = JSON.parse(event.body);
serverReturn = await familyService.createFamily(familyData);
if (!serverReturn) {
return utilities.BuildResponse(404, JSON.stringify('Failed to create Family'));
}
return utilities.BuildResponse(201, JSON.stringify(serverReturn));
} catch(err) {
console.error('Family Service Create a family error: ', err);
return utilities.BuildResponse(500, JSON.stringify('Family Service internal server error'));
}
}
您需要将typescript编译为javascript,并在模板中引用transspiled输出。