Swagger无法解析YAML:“ SyntaxError:意外令牌:”

时间:2019-11-08 02:54:39

标签: node.js yaml swagger

我尝试遵循以下指南:https://blog.cloudboost.io/adding-swagger-to-existing-node-js-project-92a6624b855b。我将这一行更改为使用YAML:

swaggerDocument = require('./swagger.yml');

Swagger编辑器中的示例不起作用。 http://editor.swagger.io/

tags:
  - name: "pet"
    description: "Everything about your Pets"

出现此错误:

  - name: "pet"                
        ^                      

SyntaxError: Unexpected token :

我试图更改缩进,但没有帮助。我看了看规格,但说没问题:https://yaml.org/spec/1.2/spec.html#id2761803

1 个答案:

答案 0 :(得分:1)

我不得不将其更改为

var swaggerUi = require('swagger-ui-express')
var fs = require('fs')
var jsyaml = require('js-yaml');
var spec = fs.readFileSync('swagger.yml', 'utf8');
var swaggerDocument = jsyaml.safeLoad(spec);

并将app/swagger.yml移至项目根目录。 fs.readFileSync()无法像./swagger.yml那样理解require()