npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

js-swagger2service-tool

v1.0.1

Published

a tool to generate service file based on swagger

Downloads

1

Readme

js-swagger2service-tool

js-swagger2service-tool 是一个可以通过 swagger 文档自动生成前端 service 文件的工具。

特性

  • 同时兼容 OAS2OAS3
  • 支持主流的HTTP客户端库(目前支持 axiosumi-request,以及扩展了自身项目中的request封装方法)
  • 支持生成js文件或ts文件
  • 生成ts文件时支持类型系统

安装

npm install js-swagger2service-tool

例子

注意:使用 CommonJS

为了获得 TypeScript 的类型支持,在使用 require() 语句导入依赖时,需要在后边加上 .default,像是这样:

const Swagger2serviceTool = require('js-swagger2service-tool').default;

PS: 输入 .default 只是为了获得TypeScript 的类型支持,如果你要启动项目的话,请在启动前删除 .default,不然会报错。

使用方式

const Swagger2serviceTool = require('js-swagger2service-tool');
const { resolve } = require('path');

const swaggerUrl =
  'https://gw.alipayobjects.com/os/antfincdn/M%24jrzTTYJN/oneapi.json';
const outputDir = resolve(__dirname, 'server');

const swagger2serviceTool = new Swagger2serviceTool({ url: swaggerUrl });
swagger2serviceTool.generateService({
  template: 'request',
  importText: `import request from '@/utils/request';`,
  basePath: '',
  typescript: false,
  outputDir,
});

API

new Swagger2serviceTool(options: Options)

创建一个 Swagger2serviceTool 的实例.

Options:

| 参数 | 说明 | 类型 | 默认值 | 是否必须 | | ------ | ------ | ------ | ------ | ------ | | url | swagger 文档的地址 | string | - | url 或者 data 选填 | | data | swagger 文档的 json 数据 | string | - | url 或者 data 选填 |

generateService(options: ServiceGeneratorOptions): void

生成 service 文件,文件名将会是 tag 的名称。

ServiceGeneratorOptions:

| 参数 | 说明 | 类型 | 默认值 | 是否必须 | | ------ | ------ | ------ | ------ | ------ | | outputDir | 输出目录 | string | - | true | | template | 想要生成的 HTTP 客户端模板 | string | 'umi-request' | false | | importText | 导入依赖的语句 | string | 默认导入语句 | false | | basePath | 基础路径 | string | 默认为空 | false | | typescript | 是否生成 ts 文件和类型 | boolean | false | false |