CodeGenieApp / CodeGenieApp/serverless-express

TypeError: (0 , serverless_express_1.configure) is not a function

Đang mở
#475 2 bình luận 2 reaction 0 người được giao Xem trên GitHub
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

Mở 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.