我是无服务器的长期用户,但只是在我当前的项目中开始使用这个离线插件。当前项目是一个使用 Apollo 和 TypeORM 的 Node GQL 服务器,最终将部署到 AWS Lambda,但在构建过程中目前仅在本地。
我的问题是我无法运行该函数,因为每次尝试在浏览器中运行处理程序时都会出现以下错误:
offline: Failure: Cannot use import statement outside a module
/Users/bduffey2/projects/movies/movies-be/src/entity/CaseType.ts:1
import { registerEnumType } from 'type-graphql';
^^^^^^
SyntaxError: Cannot use import statement outside a module
at wrapSafe (internal/modules/cjs/loader.js:1070:16)
at Module._compile (internal/modules/cjs/loader.js:1120:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10)
at Module.load (internal/modules/cjs/loader.js:1000:32)
at Function.Module._load (internal/modules/cjs/loader.js:899:14)
at Module.require (internal/modules/cjs/loader.js:1042:19)
at require (internal/modules/cjs/helpers.js:77:18)
at Function.PlatformTools.load (/Users/bduffey2/projects/movies/movies-be/src/platform/PlatformTools.ts:137:28)
at /Users/bduffey2/projects/movies/movies-be/src/util/DirectoryExportedClassesLoader.ts:40:36
at Array.map (<anonymous>)
at Object.importClassesFromDirectories (/Users/bduffey2/projects/movies/movies-be/src/util/DirectoryExportedClassesLoader.ts:40:10)
at ConnectionMetadataBuilder.buildEntityMetadatas (/Users/bduffey2/projects/movies/movies-be/src/connection/ConnectionMetadataBuilder.ts:59:56)
at Connection.buildMetadatas (/Users/bduffey2/projects/movies/movies-be/src/connection/Connection.ts:512:59)
at Connection.<anonymous> (/Users/bduffey2/projects/movies/movies-be/src/connection/Connection.ts:191:18)
at step (/Users/bduffey2/projects/movies/movies-be/node_modules/tslib/tslib.js:139:27)
at Object.next (/Users/bduffey2/projects/movies/movies-be/node_modules/tslib/tslib.js:120:57)
at fulfilled (/Users/bduffey2/projects/movies/movies-be/node_modules/tslib/tslib.js:110:62)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
我查看了 .build 目录,它看起来都不错(没有导入),所以不确定这是以某种方式试图加载原始 ts 文件还是这是一个红鲱鱼。我也不确定这是离线问题还是打字稿或什么,只是在过去几个小时看了这个之后,不知道接下来要看什么。我确实有其他几个使用无服务器和打字稿的项目可以正确部署并使用本地处理程序正确运行,只是之前没有使用无服务器离线,所以不确定我是否配置错误或做错了什么。
我的环境是节点 12.16.2 上的 macOS Catalina。我目前正在运行 serverless 1.67.3、serverless-offline 6.1.4、serverless-plugin-typescript 1.1.9 和 typescript 3.8.3。很高兴提供所需的更多细节,因为我不确定下一步该尝试什么。谢谢!