Und*_*ion 12 javascript regex graphql gatsby
我有以下查询接收变量$tag
.目前我正在根据其价值过滤结果frontmatter.keywords
.keywords
是一个逗号分隔的字符串,所以我需要使用正则表达式来检查其中是否包含$tag
,但是我无法弄清楚如何将变量传递给正则表达式.如果我硬编码的值成正则表达式(如下面我已硬编码在码/example/
中,过滤的工作原理,如果我取代.example
与$tag
我收到一个错误:
GraphQLError:变量"$ tag"从未在"TagQuery"操作中使用.
export const pageQuery = graphql`
query TagQuery($tag: String) {
allMarkdownRemark(
limit: 100
sort: { fields: [frontmatter___date], order: DESC }
filter: { frontmatter: { keywords: { regex: "/example/" } } }
) {
totalCount
edges {
node {
fields {
slug
}
excerpt
frontmatter {
title
keywords
date
}
}
}
}
}
`;
Run Code Online (Sandbox Code Playgroud)
我应该如何$tag
在正则表达式中使用?
我实际上更喜欢采用不同的方法并将标记添加为数组gatsby-node.js
,但似乎没有任何基于数组值的过滤方法.
我最终将标签拆分为一个数组,然后使用以下内容进行过滤:
filter: { fields: { tags: { in: [$tag] } } }
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2648 次 |
最近记录: |