上下文:nodejs后端(nestjs,应该与任何其他nodejs后台框架相同(。
我想在磁盘上用NPM脚本编写为swagger ui生成的openapi.json文件,如何以独立于操作系统的方式做到这一点?
- 启动后端(在dev-env中,不是问题(
- 获取openapi.json资产
- 将其保存在特定位置
这个环回问题也有同样的问题,但在构建时触发,并且特定于环回。我宁愿将其保留为手动触发的过程,以避免在其他情况或上下文中输出此文件。
基于这个答案,我对其进行了调整以满足我的需求:
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之前的语法。