Error: Cannot find module/ApolloServer/protobufjs/minimal when starting ApolloServer for Express in production
Error: Cannot find module/ApolloServer/protobufjs/minimal when starting ApolloServer for Express in production
我正在使用 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"
A link 复制回购
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
我正在使用 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"
A link 复制回购 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