CodeGenieApp / CodeGenieApp/serverless-express

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

Ouverte
#475 2 commentaires 2 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
JavaScript
Étoiles
5.3k
Forks
676
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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
```

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par le handler TypeScript présenté dans l’issue et comparez ses imports avec ceux de examples/basic-starter-api-gateway-v2/src/lambda-async-setup.js. Reproduisez l’échec avec le tsconfig.json fourni et @vendia/serverless-express 4.5.2, puis vérifiez que l’import documenté fonctionne et que le handler peut invoquer l’instance configurée sans TypeError.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
aws, javascript, nodejs, typescript
Domaine
api, backend, cloud
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.