【问题标题】:Syntax Error: swagger-jsdoc setup in Nodejs Typescript Express语法错误:Nodejs Typescript Express 中的 swagger-jsdoc 设置
【发布时间】:2021-04-03 14:16:26
【问题描述】:

我在尝试使用 typescript express 应用程序设置 swagger 时遇到语法错误。当我在没有 swagger-jsdoc 的情况下尝试此操作时,即使用 swagger.json 它正在工作,但是当我尝试使用 swagger-jsdoc 进行记录时,我面临以下错误 所以请任何机构帮助我解决这个问题。

这是我的 app.ts

import bodyParser from "body-parser";
import express, { RequestHandler } from "express";
import morgan from "morgan";
import v1 from "./routes/v1";
import swaggerUi from "swagger-ui-express";
import swaggerJsdoc from "swagger-jsdoc";

const app = express();

app.use(express.json());
app.use(express.urlencoded({ extended: true }));

const swaggerDefinition = {
    openapi: "3.0.0",
    info: {
        title: "Homework APP",
        version: "0.1.0",
        description: "This is a simple CRUD API application made with Express and documented with Swagger",
    },
    servers: [
        {
            "url": "/",
            "description": "Local Dev"
        },
    ],
}

const options = {
    swaggerDefinition,
    apis: ["./src/routes/v1/*.ts"],
}

const specs = swaggerJsdoc(options);


app.use(morgan(":status :method :url :response-time ms"));
app.use("/api-docs", swaggerUi.serve, swaggerUi.setup(specs))
app.use(v1);

export default app;

错误

(function (exports, require, module, __filename, __dirname) { import { prepare, extract, organize, finalize } from './src/specification.js';
                                                                     ^

SyntaxError: Unexpected token {
    at new Script (vm.js:79:7)
    at createScript (vm.js:251:10)
    at Object.runInThisContext (vm.js:303:10)
    at Module._compile (internal/modules/cjs/loader.js:656:28)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
    at Module.load (internal/modules/cjs/loader.js:598:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
    at Function.Module._load (internal/modules/cjs/loader.js:529:3)
    at Module.require (internal/modules/cjs/loader.js:636:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at Object.<anonymous> (/home/aman/Documents/Octo/homeworkapp-server/src/app.ts:6:1)
    at Module._compile (internal/modules/cjs/loader.js:688:30)
    at Module.m._compile (/home/aman/Documents/Octo/homeworkapp-server/node_modules/ts-node/src/index.ts:1056:23)
    at Module._extensions..js (internal/modules/cjs/loader.js:699:10)
    at Object.require.extensions.(anonymous function) [as .ts] (/home/aman/Documents/Octo/homeworkapp-server/node_modules/ts-node/src/index.ts:1059:12)
    at Module.load (internal/modules/cjs/loader.js:598:32)
[nodemon] app crashed - waiting for file changes before starting...

【问题讨论】:

    标签: node.js typescript swagger


    【解决方案1】:

    我能够通过将 swagger-jsdoc 版本回滚到 "swagger-jsdoc": "^6.0.0" 来解决此问题

    【讨论】:

      猜你喜欢
      • 2017-03-03
      • 1970-01-01
      • 2021-04-12
      • 1970-01-01
      • 1970-01-01
      • 2021-01-29
      • 2021-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多