如何解决错误:在生产环境中启动ApolloServer for Express时找不到模块/ ApolloServer / protobufjs /最小值
我正在使用TypeScript创建ApolloExpressServer。使用
在开发模式下运行时,代码运行良好ts-node -r tsconfig-paths/register ./src --env=development
但是在我使用tsc --build tsconfig.prod.json
构建项目之后,它构建成功,但是当我尝试使用node -r module-alias/register ./dist
启动服务器时失败了
它输出一个错误
Error: Cannot find module '/dist/ApolloServer/protobufjs/minimal'
Require stack:
- /node_modules/apollo-engine-reporting-protobuf/dist/protobuf.js
- /node_modules/apollo-engine-reporting-protobuf/dist/index.js
- /node_modules/apollo-engine-reporting/dist/agent.js
- /node_modules/apollo-server-core/dist/ApolloServer.js
- /node_modules/apollo-server-core/dist/index.js
- /node_modules/apollo-server-express/dist/index.js
我当前正在使用
-
"apollo-server-express": "^2.17.0"
-
"typescript": "^3.9.3"
到复制存储库的链接 https://github.com/Oluwatemilorun/typescript-server
解决方法
我发现了问题。这是由于我的package.json中的moduleAlias而发生的。 我创建了一个模块别名,如
{
"name": "apollo-express-server","version": "0.0.0","_moduleAliases": {
"@middlewares": "dist/middlewares","@validators": "dist/validators","@models": "dist/models","@shared": "dist/shared","@config": "dist/config","@server": "dist/Server","@apollo": "dist/ApolloServer"
},}
删除行“ @apollo”:“ dist / ApolloServer”解决了该问题。 显然,它覆盖了/ node_modules / @ apollo / *并将其指向dist / ApolloServer
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。