vscode GraphQL插件踩坑

248 阅读2分钟

TLDR

背景

之前用的GraphQL插件, 只开启了语法高亮. 自己写的schema没什么问题, 排查问题时, 只能靠搜索, 太难了....

vscode有不少语法提示插件, 但很多不太适用了. 试用了几款, 踩了踩坑...

插件

GraphQL: Language Feature Support

 # graphql.config.yml  //in root directory
 # 使用URL的方式, 只有语法提示, 没有定义跳转
 # schema: http://localhost:5910/graphql
 schema:
   - ./bff/src/schemas/*.gql
   - ./bff/src/schemas/**/*.gql
   - ./bff/src/schemas/**/**/*.gql
  • 需要按照graphql-config的格式, 添加配置文件
  • 有语法提示、支持定义跳转
  • 目前仍在维护
  • 唯一可惜的是, 没有引用查询

有常规的语法提示了, 而且自定义类型也可以提示. 支持定义跳转

vscode-graphql

  • 个人开发者插件, 坚持与否, 全看心情

  • 上一次的发布时间, 在2019年... 验证了第一条

  • 插件代码库 (iemmp.com) 已经丢失了.......

  • 按照quick start配置

    • 有高亮, 但是不太符合预期
    • 有语法提示
    • 没有定义跳转

整体效果不是很理想, 故放弃

Apollo GraphQL

 // module.exports = {
 //   client: {
 //     service: {
 //       name: "my-service-name",
 //       localSchemaFile: "./src/schemas/*.graphql",
 //     },
 //   },
 // };
 // module.exports = {
 //   client: {
 //     service: {
 //       name: "github",
 //       url: "http://localhost:5910/graphql", 
 //       // optional headers
 //       headers: {
 //         authorization: "Bearer lkjfalkfjadkfjeopknavadf",
 //       },
 //       // optional disable SSL validation check
 //       skipSSLValidation: true,
 //     },
 //   },
 // };
 module.exports = {
   service: {
     endpoint: {
       url: "http://localhost:5910/graphql",
       headers: {
         // optional
         authorization: "Bearer lkjfalkfjadkfjeopknavadf",  
       },
       skipSSLValidation: true, // optional, disables SSL validation check
     },
   },
 };
 ​
 // export default {
 //   service: {
 //     endpoint: {
 //       url: "http://localhost:5910/graphql",
 //       headers: {
 //         // optional
 //         authorization: "Bearer lkjfalkfjadkfjeopknavadf",
 //       },
 //       skipSSLValidation: true, // optional, disables SSL validation check
 //     },
 //   },
 // };
 ​
  • 不支持es module
  • 更新时间还在22年
  • issue关闭速度相当一般...

搞了半天, 只有语法高亮, 没有定义跳转... 也可能是我太菜了😭

配置文件加载总是不成功. .js因为es module不能用, .cjs加载不上...

评论区也有吐槽配置不生效的, 不折腾了...