我正在使用ApolloExpressServer创建一个TypeScript。在开发模式下运行时,代码运行良好。
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"发布于 2020-09-14 13:43:46
我发现了问题。它之所以发生,是因为我的package.json中的package.json。我创建了一个模块别名,如
{
"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"
},
}删除“@阿波罗”一行:"dist/ApolloServer“解决了这个问题。显然,它正在重写/node_node/@阿波罗/*,并将其指向dist/ApolloServer
https://stackoverflow.com/questions/63881595
复制相似问题