node.js - Swagger 无法解析 YAML:“SyntaxError: Unexpected token :”
问题描述
我尝试遵循本指南: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
解决方案
我不得不把它改成
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()
。
推荐阅读
- google-oauth - 使用应用程序验证 Google OAuth2 音乐会屏幕仅供个人使用
- python - 查找二叉树的深度 - 存储/更新的深度在哪里?
- git - 使用 git-filter-repo 重写后如何推送到原始远程存储库
- flutter - 如何使用 dart-flutter 每天重复本地通知?以及如何将“2:00 AM”时间格式解析为 TimeZone?
- java - 从 List 中获取常用元素
- excel - AdvancedFilter 宏上的应用程序定义或对象定义错误
- wordpress - Wordpress 中的类别菜单(+ Twig/Timber)
- cassandra - Cassandra - 较小的分区导致性能问题
- c# - 如何从字符串/列表实体框架中选择列
- reactjs - React 钩子表单将错误传递给子组件(TS)