https://github.com/apigee-127/swagger-converter
我看到了这段代码:
var convert = require('swagger-converter');
var fs = require('fs');
var resourceListing = JSON.parse(fs.readFileSync('/path/to/petstore/index.json').toString());
var apiDeclarations = [ JSON.parse(fs.readFileSync('/path/to/petstore/pet.json').toString()),
JSON.parse(fs.readFileSync('/path/to/petstore/user.json').toString()),
JSON.parse(fs.readFileSync('/path/to/petstore/store.json').toString())
];
var swagger2Document = convert(resourceListing, apiDeclarations);
console.log(JSON.stringify(swagger2Document, null, 2));
我很担心我应该在这里做什么来运行它?我是否启动了节点http服务器?
答案 0 :(得分:0)
要运行您粘贴的文件,只需将代码保存到script.js
这样的文件中即可。然后从命令行(安装了node)运行node script.js
。那将运行该文件。以下是它正在做的事情的细分:
var convert = require('swagger-converter');
此行引用您链接到的swagger-converter模块。该模块旨在允许您将swagger文档转换为JSON。
var fs = require('fs');
此行引用节点内置文件系统模块(简称fs)。它提供了一个API,用于在脚本运行时与计算机上的文件系统进行交互。
var resourceListing = JSON.parse(fs.readFileSync('/path/to/petstore/index.json').toString());
这一行可以细分为:
var indexContent = fs.readFileSync('/path/to/petstore/index.json');
JSON.parse(indexContent.toString());
readFileSync
将index.json
文件的内容作为缓冲区对象返回,通过调用.toString()
可轻松将其转换为简单字符串。然后他们将它传递给JSON.parse
,它解析字符串并将其转换为一个简单的JavaScript对象。
有趣的事实:他们可以通过一个简单的var resourceListing = require('/path/to/petstore/index.json');
跳过这些步骤。 Node知道如何读取JSON文件并自动将它们转换为JavaScript对象。您只需将路径传递给require
。
var apiDeclarations = [ JSON.parse(fs.readFileSync('/path/to/petstore/pet.json').toString()),
JSON.parse(fs.readFileSync('/path/to/petstore/user.json').toString()),
JSON.parse(fs.readFileSync('/path/to/petstore/store.json').toString())
];
这段代码与resourceListing
的功能相同,只是它根据这些JSON文件创建了三个JavaScript对象的数组。他们也可以在这里使用require
来节省一些工作。
然后他们最终使用转换器进行转换,然后将数据记录到运行脚本的终端。
var swagger2Document = convert(resourceListing, apiDeclarations);
console.log(JSON.stringify(swagger2Document, null, 2));
JSON.stringify
与JSON.parse
相反。 stringify
将JavaScript对象转换为JSON字符串,而parse
将JSON字符串转换为JavaScript对象。