Serverless v4 + serverless-offline:TypeScript处理器未编译问题求助
Serverless v4迁移后serverless-offline访问路由报错问题
我正在将大型Serverless v3应用迁移至v4,使用TypeScript开发,本地依赖serverless-offline工具。完成v4配置修改后运行sls offline start启动速度极快,但访问路由时出现错误:
✖ Unhandled exception in handler 'externalUserInfo'. [serverless-v2] ✖ Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main defined in /Users/user/Development/aws/serverless-monorepo/node_modules/@middy/http-error-handler/package.json [serverless-v2] at exportsNotFound (node:internal/modules/esm/resolve:304:10) [serverless-v2] at packageExportsResolve (node:internal/modules/esm/resolve:594:13) [serverless-v2] at resolveExports (node:internal/modules/cjs/loader:634:36) [serverless-v2] at Function._findPath (node:internal/modules/cjs/loader:724:31) [serverless-v2] at node:internal/modules/cjs/loader:1211:27 [serverless-v2] at nextResolveSimple (/Users/user/Development/aws/serverless-monorepo/node_modules/tsx/dist/register-DCnOAxY2.cjs:3:942) [serverless-v2] at /Users/user/Development/aws/serverless-monorepo/node_modules/tsx/dist/register-DCnOAxY2.cjs:2:2550 [serverless-v2] at /Users/user/Development/aws/serverless-monorepo/node_modules/tsx/dist/register-DCnOAxY2.cjs:2:1624 [serverless-v2] at resolveTsPaths (/Users/user/Development/aws/serverless-monorepo/node_modules/tsx/dist/register-DCnOAxY2.cjs:3:760) [serverless-v2] at Function._resolveFilename (/Users/user/Development/aws/serverless-monorepo/node_modules/tsx/dist/register-DCnOAxY2.cjs:3:1038)
我怀疑Serverless或serverless-offline完全忽略了我的TypeScript处理器文件,未进行编译,已卡在此问题3小时无法解决。以下是我的serverless.mjs配置:
export default { "frameworkVersion": "4", "package": { "individually": true, "excludeDevDependencies": true }, "provider": { "name": "aws", "region": "eu-west-1", "runtime": "nodejs20.x", "architecture": "arm64", "memorySize": 1024, "deploymentMethod": "direct", "apiGateway": { "minimumCompressionSize": 1024 }, "stage": "${opt:stage, \"local\"}" }, "build": { "esbuild": { "external": [ "pg", "pg-query-stream", "better-sqlite3", "tedious", "mysql", "oracledb", "sqlite3", "sharp" ], "bundle": true, "buildConcurrency": 1, "exclude": [ "@aws-sdk" ], "outputFileExtension": ".mjs", "packagerOptions": { "scripts": [ "npm install --os=linux --cpu=arm64 sharp" ] } } }, "custom": { "prune": { "automatic": true, "number": 3 }, "cors": { "origin": "*", "allowCredentials": false, "headers": [ "Allow-Header", "Content-Type", "X-Amz-Date", "Authorization", "X-Api-Key", "X-Api-Version", "X-Amz-Security-Token", "X-Amz-User-Agent", "AuthToken", "OrgId", "CustomerId" ] }, "serverless-offline": { "noAuth": true, "useChildProcesses": true, "allowCache": true } }, "plugins": [ "serverless-offline" ], "service": "serverless", "functions": { "externalUserInfo": { "handler": "stacks/users/src/handlers/external-information-api.handler", // Typescript handler "maximumRetryAttempts": 0, "events": [ { "http": { "method": "get", "path": "/account", "private": true } } ] }, } }
内容的提问来源于stack exchange,提问作者throrin19
相关产品推荐
相关产品推荐

