部署后缺少NestJS swagger ui express包
我正在使用部署后缺少NestJS swagger ui express包,swagger,nestjs,nestjs-swagger,Swagger,Nestjs,Nestjs Swagger,我正在使用NestJSversion7.1.0和serverless并使用NestJS-swagger创建api文档。在本地,它像champ一样工作,但在部署后出现错误 swagger-ui-express package is missing 我在这里看到了一些问题,但仍然没有解决这个问题。 这是我的package.json "dependencies": { "@nestjs/common": "^7.1.0", "@nestjs/core": "^7.1.0",
NestJS
version7.1.0
和serverless
并使用NestJS-swagger
创建api文档。在本地,它像champ一样工作,但在部署后出现错误
swagger-ui-express package is missing
我在这里看到了一些问题,但仍然没有解决这个问题。
这是我的package.json
"dependencies": {
"@nestjs/common": "^7.1.0",
"@nestjs/core": "^7.1.0",
"@nestjs/passport": "^7.0.0",
"@nestjs/platform-express": "^7.0.7",
"@nestjs/swagger": "^4.5.8",
"aws-serverless-express-binary": "^1.0.1",
"class-transformer": "^0.2.3",
"class-validator": "^0.11.1",
"dayjs": "^1.8.24",
"dotenv": "^8.2.0",
"dynamodb-data-types": "^3.0.1",
"express": "^4.17.1",
"faker": "^4.1.0",
"jest": "^24.9.0",
"jwks-rsa": "^1.6.0",
"latinize": "^0.4.1",
"lodash": "^4.17.15",
"mime-types": "^2.1.26",
"passport": "^0.4.1",
"passport-jwt": "^4.0.0",
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.0",
"rxjs": "^6.5.3",
"serverless-dynamodb-local": "^0.2.39",
"swagger-ui-express": "^4.1.4",
"tslint-loader": "^3.5.4",
"uuid": "^3.3.3",
"winston": "^3.2.1"
},
这是配置文件:
const options = new DocumentBuilder()
.setTitle("My APIs")
.setDescription("APIs description")
.setVersion("1.0")
.addTag("cats")
.build();
const document = SwaggerModule.createDocument(app, options);
SwaggerModule.setup("api", app, document);
任何帮助 您是否正在使用纱线工作区?我刚才也遇到了同样的问题,在本地,所有的东西都工作了,但在我们的集群上坏了 如果是,请尝试将其添加到使用swagger模块的API的package.json中:
“工作区”:{“nojust”:[“swagger ui express”]}
我找到了解决方案,希望这对其他人有所帮助。
我添加了一个伪端点,以确保运行webpack
后不会删除swagger ui express
if (event.path === "/api") {
event.path = "/api/";
} else if (event.path.includes("/swagger-ui")) {
event.path = event.path.replace("/swagger-ui", "/api/swagger-ui");
}
// Fake to keep swagger-ui-express work after deploy
if (event.path === "/fake-swagger-ui-express") {
swaggerUi.setup(null);
}