CodeGenieApp / CodeGenieApp/serverless-express
TypeError: (0 , serverless_express_1.configure) is not a function
- Ngôn ngữ chính
- JavaScript
- Star
- 5.3k
- Fork
- 674
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Using version `@vendia/serverless-express`: **4.5.2**
Trying to import the "serverlessExpress" module and do something similar as described here:
https://github.com/vendia/serverless-express/blob/mainline/examples/basic-starter-api-gateway-v2/src/lambda-async-setup.js
but, in a TypeScript project.
```ts
import logger from 'src/logger';
import ConfigurationProvider from 'src/ConfigurationProvider';
import { configure as serverlessExpress } from '@vendia/serverless-express';
import { APIGatewayEvent, Context } from 'aws-lambda';
let serverlessInstance;
/**
* See https://github.com/vendia/serverless-express/blob/5c1e0a59e9fdce03cbba3912ba33de8dd9773348/README.md#async-setup-lambda-handler
*/
async function setup(event: APIGatewayEvent, context: Context, configProvider = new ConfigurationProvider()) {
// Loads the configuration from SSM.
await configProvider.loadAppConfig();
const app = (await import('src/app')).default;
serverlessInstance = serverlessExpress({ app: app() });
serverlessInstance(event, context);
}
/**
*/
export function handler(event: APIGatewayEvent, context: Context) {
if (serverlessInstance) {
return serverlessInstance(event, context);
}
return setup(event, context).catch(err => {
logger.error('Could not start app!', err);
});
}
```
This is my `tsconfig.json`:
```json
{
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"module": "commonjs",
"outDir": "./dist",
"noImplicitAny": false,
"sourceMap": true,
"skipLibCheck": true,
"resolveJsonModule": true,
"jsx": "react",
"lib": ["es2020", "dom"],
"target": "es2019",
"baseUrl": ".",
"plugins": [
{ "transform": "ts-transformer-imports" }
]
}
```
Tried to import both with:
```ts
import serverlessExpress from '@vendia/serverless-express';
```
And
```ts
import { configure as serverlessExpress } from '@vendia/serverless-express';
```
Can't get it to work. Always get the following error:
```
TypeError: (0 , serverless_express_1.configure) is not a function
```
Or:
```
TypeError: (0 , serverless_express_1.default) is not a function
```
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu với TypeScript handler được hiển thị trong issue và so sánh các import của nó với examples/basic-starter-api-gateway-v2/src/lambda-async-setup.js. Tái hiện lỗi bằng tsconfig.json được cung cấp và @vendia/serverless-express 4.5.2, sau đó xác minh rằng import được ghi trong tài liệu hoạt động và handler có thể gọi instance đã cấu hình mà không gặp TypeError.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- aws, javascript, nodejs, typescript
- Lĩnh vực
- api, backend, cloud
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100