如何使用NPM脚本输出后台生成的OpenApi.json文件



上下文:nodejs后端(nestjs,应该与任何其他nodejs后台框架相同(。

我想在磁盘上用NPM脚本编写为swagger ui生成的openapi.json文件,如何以独立于操作系统的方式做到这一点?

  1. 启动后端(在dev-env中,不是问题(
  2. 获取openapi.json资产
  3. 将其保存在特定位置

这个环回问题也有同样的问题,但在构建时触发,并且特定于环回。我宁愿将其保留为手动触发的过程,以避免在其他情况或上下文中输出此文件。

基于这个答案,我对其进行了调整以满足我的需求:

var http = require('http');
var fs = require('fs');
function download(filename, url) {
var file = fs.createWriteStream(filename);
http.get(url, function (response) {
response.pipe(file);
});
}
console.log('Downloading opemapi file from');
download('./../web-api/openapi.json', 'http://localhost:3000/api-json');

这是对package.json文件的添加:

"scripts": {
[...]
"api:fetch": "node fetch-openapi.js",
[...]
},

我的项目是基于TypeScript的,所以Visual Studio Code建议去掉require,改用import,但由于这个脚本是直接由节点运行的,所以我坚持使用ES6之前的语法。

最新更新