首页 > 解决方案 > 取消注释反应中继流类型

问题描述

我正在使用中继编译器来编译中继 GraphQL 查询。

我也在使用流进行类型检查。

我的 IDE 不理解流注释样式类型检查。所以我想取消注释它们。

我需要一个正则表达式来找到这些评论和取消评论主题。

这是我的片段之一:

/**
 * @flow
 */

/* eslint-disable */

'use strict';

/*::
import type { ReaderFragment } from 'relay-runtime';
import type { FragmentReference } from "relay-runtime";
declare export opaque type RegionHeaderRelay_data$ref: FragmentReference;
declare export opaque type RegionHeaderRelay_data$fragmentType: RegionHeaderRelay_data$ref;
export type RegionHeaderRelay_data = {|
  +title: string,
  +cover: $ReadOnlyArray<?{|
    +url: string,
    +photographer: string,
  |}>,
  +categoryVideoCount: number,
  +categoryVideoUrl: string,
  +$refType: RegionHeaderRelay_data$ref,
|};
export type RegionHeaderRelay_data$data = RegionHeaderRelay_data;
export type RegionHeaderRelay_data$key = {
  +$data?: RegionHeaderRelay_data$data,
  +$fragmentRefs: RegionHeaderRelay_data$ref,
};
*/

...

我想将上面的代码转换为:

/**
 * @flow
 */

/* eslint-disable */

'use strict';

import type { ReaderFragment } from 'relay-runtime';
import type { FragmentReference } from "relay-runtime";
declare export opaque type RegionHeaderRelay_data$ref: FragmentReference;
declare export opaque type RegionHeaderRelay_data$fragmentType: RegionHeaderRelay_data$ref;
export type RegionHeaderRelay_data = {|
  +title: string,
  +cover: $ReadOnlyArray<?{|
    +url: string,
    +photographer: string,
  |}>,
  +categoryVideoCount: number,
  +categoryVideoUrl: string,
  +$refType: RegionHeaderRelay_data$ref,
|};
export type RegionHeaderRelay_data$data = RegionHeaderRelay_data;
export type RegionHeaderRelay_data$key = {
  +$data?: RegionHeaderRelay_data$data,
  +$fragmentRefs: RegionHeaderRelay_data$ref,
};

...

我应该使用什么正则表达式?

标签: flowtyperelayreact-relay

解决方案


这是查找那部分代码的正则表达式

const regex = /\/\*\:\:([\s\S]*?)\*\//gm

并使用$1替换来删除评论部分

code.replace(regex,`$1`);

推荐阅读