在 Gatsby 中,根据 js 文件的位置不同,使用 GraphQL 有两种形式,且 Gatsby 对其做了魔法,在 src/pages 下的页面可以直接 export GraphQL 查询,在其它页面需要用...这里面查询语句虽然写的是字符串,但其实这些查询语句不会出现在最终的代码中,Gatsby 会先对其抽取[17]。 个人其实不太喜欢魔法,因为会增加初学者的理解难度。...另一个需要理解的是 Relay 的 Connections 概念,你会发现 Gatsby 里所有的数据集合都是以这种方式查询。推荐阅读 Apollo 团队分享的文章[18]。...Debug GraphQL Gatsby 魔法带来的另外一个坑是 GraphQL 报错信息不全,可能会默默被吞掉,也可能无法定位到最终文件。...我们当然不希望迁移后原有的链接无法访问,这不仅影响到 SEO ,更带来了不好的用户访问体验。本文将聊聊怎么让 Gatsby 兼容 Jekyll 式路径。
当然,我们的数据结构是在我们的Markdown文件开始时提供的 frontmatter。我们定义的每个键都可以被注入到查询中。...每一次我们构建 Gatsby 时, createPage 将被调用,Gatsby 将会创建一个静态的 HTML 文件路径根据我们在帖子的前面专门写的 frontmatter。...实际的 React 组件是相当琐碎的,需要注意一点,当链接到内部内容时,你应该经常使用 gatsby-link。 如果页面没有通过这个实用工具进行路由,Gatsby 就无法工作。...添加一个 tag 列表和 tag 查询页 提示: gatsby-node.js 文件中的 createPages API 在这里很有用,还有之前的 frontmatter 在特定的博客文章之间添加导航(...CLI,用于在预定义的 Gatsby 结构和 frontmatter、日期、路径等方面搭建一个博客帖子。
1.查数据 注意,这里跟前面不一样了,我用gatsby-node.js这个文件去提供数据,没有什么为什么,规定,照做就好。...2.创建内容页模板 在src>templates下创建blogPost.js import React from "react" import { graphql,Link } from 'gatsby...{ markdownRemark(frontmatter: { path: { eq: $pathSlug } }) { html frontmatter {...MMMM DD, YYYY") path title } } } ` export default Template; 这里只要对应的路径的那个文章查询...: frontmatter: { path: { eq: $pathSlug } }
插件,转为数据层节点 ImageSharp; 使用 Graphql 查询 ImageSharp 节点数据,传递给 gatsby-plugin-image 插件提供的组件 GatsbyImage...("BlogPost :", data); const image = getImage(data.mdx.frontmatter.hero_image) return ( ...Title: {data.mdx.frontmatter.title} Posted: {data.mdx.frontmatter.date} <GatsbyImage...image={image} alt={data.mdx.frontmatter.hero_image_alt} /> ...export const query = graphql` query($id: String) { mdx(id: {eq: $id}) { body frontmatter
1.查数据 注意,这里跟前面不一样了,我用gatsby-node.js这个文件去提供数据,没有什么为什么,规定,照做就好。...创建内容页模板 在src>templates下创建blogPost.js import React from "react" import { graphql,Link } from 'gatsby...{ markdownRemark(frontmatter: { path: { eq: $pathSlug } }) { html frontmatter...path title } } } ` export default Template; 这里只要对应的路径的那个文章查询...frontmatter: { path: { eq: $pathSlug } }
安装插件 npm install yarn -g yarn add gatsby-plugin-tags 配置插件 在 gatsby-config.js 的 plugins 中添加: { resolve.../utils/typography" const PostsListCard = ({ frontmatter, fields, excerpt }) => { const title = frontmatter.title...: `none` }} to={fields.slug}> {title} {frontmatter.date...build 效果:https://aping-dev.com/gatsby-tags/ [image.png] 参考 gatsby-plugin-tags. https://www.gatsbyjs.org.../packages/gatsby-plugin-tags/?
1.调整gatsby-node 这个就简单了,打开gatsby-node.js,增加代码如下: const path = require("path"); exports.createPages...}) }) } 2.调整blogPost.js import React from "react" import { graphql,Link } from 'gatsby...{ markdownRemark(frontmatter: { path: { eq: $pathSlug } }) { html frontmatter...总结: 到此,通过gatsby就快速的搭建了一个博客网站,我们只需书写markdown文件就能生成对应的网页了。至于网页美化,那是切图的事儿,我就不在这里墨迹了。...如果你觉得深入学习gatsby太麻烦,你可以直接用我写好的模板就行, 开源库地址,直接克隆就可以用了: https://github.com/leolau2012/gatsby-teach 但是基础还是要会的
1.调整gatsby-node 这个就简单了,打开gatsby-node.js,增加代码如下: const path = require("path"); exports.createPages =...context }) }) }) } 2.调整blogPost.js import React from "react" import { graphql,Link } from 'gatsby...{ markdownRemark(frontmatter: { path: { eq: $pathSlug } }) { html frontmatter {...总结: 到此,通过gatsby就快速的搭建了一个博客网站,我们只需书写markdown文件就能生成对应的网页了。至于网页美化,那是切图的事儿,我就不在这里墨迹了。...如果你觉得深入学习gatsby太麻烦,你可以直接用我写好的模板就行, 开源库地址,直接克隆就可以用了: https://github.com/leolau2012/gatsby-teach 但是基础还是要会的
1.查数据 { allMarkdownRemark(sort: {order: DESC, fields: [frontmatter___date]}) { edges { node...{ frontmatter { title path date excerpt }.../components/header' import { Link,graphql } from 'gatsby' const Layout = ({ data }) => { const {...} = edge.node; return ( {frontmatter.title} </
___date]}) { edges { node { frontmatter { title path date excerpt } } } } } 如图所示: ?.../components/header' import { Link,graphql } from 'gatsby' const Layout = ({ data }) => { const { edges...} = edge.node; return ( {frontmatter.title... ) } export const query = graphql` query{ allMarkdownRemark (sort:{ order:DESC, fields:[frontmatter...___date] }){ edges { node { frontmatter { title path date excerpt } } } } } `; export default
Webpack 所以更快的启动时间,热重载等使用 Vue3 来减少 JS 的有效负载vuePress=webpack+vue2,vitePress=vite+vue3html目前主流搭建文档站点的方式:Gatsby...功能强大,与 Gatsby 相似(React)dumi - 一款 UmiJS 生态中的组件开发文档工具(React)Nextra - 一个基于 Next.js 的静态站点生成器。... {{ $frontmatter.date }}任何包含 YAML frontmatter 块的 Markdown 文件都将被 gray matter 处理。...frontmatter 必须位于 Markdown 文件的顶部,而且必须采用三条虚线之间的有效 YAML 集的形式。...这些变量能够经过$frontmatter 变量来使用。
response.json(); return json({ data, }); }; export default Page; Astro 路由 在此路由中,从 Astro 的特殊“frontmatter...对我来说是这样,因为我是一个狂热的 Gatsby 用户。...Gatsby 的 useStaticQuery hook 在 2019 年 2 月,Gatsby 引入了 useStaticQuery hook,虽然获取数据的方法截然不同(我并不是试图将此与 RSC...中,你从未使用 GraphQL(一个普遍的误解)获取数据;相反,你正在查询它。...我从使用 Gatsby 的经验中知道,从组件中轻松访问数据是有好处的。
我确实不太满意 Gatsby 的宣传手法,他们说 Gatsby 适合任何类型的网站。客户端 JavaScript 是有成本的,开发人员应该意识到这一点。...如果你想用更激进的方法,可以使用一个插件来从你的 Gatsby 网站删除所有 Gatsby JavaScript。...相比之下,Gatsby 中出色的 gatsby-image 插件可以生成延迟加载和响应式的图片元素,并能在加载全分辨率文件后在低分辨率或 SVG 版本的图像间平滑切换。...认为它只是将帖子分页到指定大小的一些组中,之后才意识到它可以动态生成全新的页面;我还发现自己在同一文件中混用了模板语言:你可以随意在 markdown 文件中包含 nunjucks 标签,或将基于 yaml 的 frontmatter...我使用了 loading="lazy"属性来延迟加载图片,但它的浏览器支持不够完整,并且在原生浏览器实现改进之前,它无法在加载图片时淡入淡出。
1.今天遇到一个错误,在连接到hive之后,无法执行任何命令。...,查询到hdp的官方论坛。 解释说,这个是一个已知的问题。需要修改ambari的sql脚本,删除mysql的一些index等。...Mysql并不是完全不敏感,而是在设置参数lower_case_table_names=1 之后,创建和查询的sql语句中的表名,默认修改为小写的。而已经创建的表名,还是大写的显示。...但是你无论用大写表名,还是小写表名,都无法正确查询到了。 13....查询正常了。 mysql> select count(*) from `DBS`; +----------+ | count(*) | +----------+ | 2 | 16.
create or replace function test_f(id varchar2) return varchar2 is Result ...
近期一个项目中,在子域中部署了Exchange 2013 SP1,由于这边环境OU数量有4000+,导致新建用户时无法查询到组织单元,如下图: ?...在EAC中创建邮箱时,如果OU数小于500时,系统会正常显示,因为OU的查询上限值是500,当OU数大于500时可能会导致此问题,下面需要在邮箱服务器中做一些更改,增加OU的显示数量。 1.
在一个查询日志中发现有慢查询,但相关的表都有索引,通过EXPLAIN,发现并未命中索引Alarm表,查询主表。...关联查询预计的索引为motorcadeIdCREATE TABLE `user_motorcade` ( `userId` bigint(20) NOT NULL COMMENT '角色ID',...关联查询预计的索引为motorcadeIdCREATE TABLE `alarm` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `motorcadeId` int...问题出在,关联表的isDelete和userId根据最左原则未命中索引(虽然创建了),这就导致关联查询不能命中索引。...调整关联表的索引----增加索引: KEY `userId` (`userId`,`isDelete`)此时关联表命中了索引,关联查询主表也命中索引。
报错: 解决:在语句开头指定SET NOCOUNT ON 就是这么神cao奇dan。 -END-
本文说的是在vs调试无法附加到CoreCLR。拒绝访问。已经如何去解决,可能带有一定的主观性和局限性,说的东西可能不对或者不符合每个人的预期。...放在E就错 那么这个在哪,其实打开设置,进系统,存储 vs2015更新 之前我的应用无法打包,最后升级vs就好啦,所以看是不是版本,因为vs没有和win10版本出现 修复,打开安装包,修复 关闭所有杀毒软件试试...接着还有工程文件放在C盘 不要修改临时变量文件 查询临时变量: 我的电脑,属性,高级 ?
--- 二、Gatsby 简介 1、图解系统结构 数据统一:从 不同数据源(下图中 CMS、Private API 等) 获取数据,形成统一的数据结构( GraphQL Data Layer) 数据查询...:通过 GraphQL 查询 GraphQL Data Layer 中的数据 展示数据:通过React 编写HTML页面,把数据展示出来。...--- 三、安装 Gatsby 并新建网站 Gatsby 是在 Node.js 的基础上建立,使用 Gatsby 之前必须先安装 Node.js 且版本 ≥ 12.13。...--- 5、怎么查询数据层数据? 详细步骤,看这里! --- 6、网站的中文全文搜索功能? 详细步骤,看这里! --- 7、怎么使用自定义字体? 详细步骤,看这里!...同样也可以在阿里云上购买一个ESC; 第三步:在阿里云后台设置域名解析到第二步的服务器; 第四步:在服务器上安装nginx; 第五步:在开发机器上编译 gatsby 项目 gatsby clean gatsby
领取专属 10元无门槛券
手把手带您无忧上云