首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Gatsby 创建一个博客

在安装了这些功能插件之后,我们将编辑 gatsby-config.js。Gatsby 在构建加载指定插件的公开功能。...创建 React 模板 当 Gatsby 支持服务器端渲染(对字符串)的 React 组件,我们可以使用 React 编写我们的模板( 也可以使用Preact )。...接下来:以编程方式创建必要的静态页面(并将模板注入)与 Gatsby 的 Node API,让我们开始吧。 此时需要注意的一点是,GraphQL 查询是在构建进行的。...每一次我们构建 Gatsby , createPage 将被调用,Gatsby 将会创建一个静态的 HTML 文件路径根据我们在帖子的前面专门写的 frontmatter。...实际的 React 组件是相当琐碎的,需要注意一点,当链接到内部内容,你应该经常使用 gatsby-link。 如果页面没有通过这个实用工具进行路由,Gatsby 就无法工作。

2.5K30

创建 React 应用的 7 种方式,你用过几种?

html-webpack-plugin webpack - 前端构建工具 webpack-cli - 让 webpack 支持命令行执行 webpack-dev-server - 开发模式下启动服务器,修改代码,浏览器会自动刷新...运行 npm run start 启动脚本, React 应用程序应该在端口 8080 上运行,此时我们可以在本地开发 react 应用了 配置 proxy 代理 开发,需要请求接口,而接口往往是由后端同学完成的...vite 采用浏览器支持 ES 模块来解决开发构建缓慢的问题,使用 esbuild 预构建依赖(开发不会变动的纯 JavaScript 代码,一般是 node_modules 中的第三方包)。...老项目迁移会存在一定成本,可以参考我之前的文章《将 React 应用迁移至 Vite》 四:Gatsby Gatsby 不仅仅是一个静态网站生成器,它更是一个渐进式 Web 应用生成器。...创建 gatsby 应用 npm init gatsby 在命令行中选择开发语言,是否使用 CMS、是否支持、md、mdx 等 创建完成后,在命令行运行 npm run dev,打开 http://localhost

6.5K10

React-diff算法和React-其它内容-StrictMode.md

React 渲染流程执行 render 方法 我是段落 我是span将 JSX 转换成...createElementReact.createElement("div", null, React.createElement("div", null, React.createElement...the-diffing-algorithm图片React-其它内容-StrictModeStrictMode 概述作用: 开启 严格模式, 检查后代组件中是否存在潜在问题注意点:和 Fragment 一样, 不会渲染出任何 UI 元素仅在...开发模式 下有效StrictMode 检查什么检查过时或废弃的属性 / 方法 / ...检查意外的副作用:检查被包裹的组件当中写的一些逻辑代码会被调用多次,是否会产生一些副作用index.js:import...}export default App;这个组件的 constructor 会被调用两次图片官方文档https://zh-hans.reactjs.org/docs/strict-mode.html#gatsby-focus-wrapper

17120

如何利用机器学习和Gatsby.js创建假新闻网站​

使用npm,您可以将Gatsby.js安装到本地机器上。 接下来最好安装git,这是一种非常强大且流行的版本控制系统。当您使用Gatsby.js站点模板Gatsby会使用Git的一些功能。...网站配置 现在我们已经设置了Gatsby站点,并预先打包了基本的静态web资源后,在实际添加内容之前,我们应该了解站点的基本组件并正确配置它们。 当你设置一个Gatsby网站,你会得到一堆文件。...gatsby-node.js 此文件用于实现api。这些api可以使用GraphQL从数据层中获取数据。在处理程序化页面生成,我们将更深入地研究这个文件的内容。...理想情况下,运行它不会出现任何故障。如果查看gen.py的底部,将看到我在path /content/gdrive/My Drive/ articles /中编写了文章。...develop或gatsby build,代码就会自动生成所有内容!

4.5K60

前端之变(三):变革与突破

这就造成了前端始终难以发展现能与其它现代语言相比的语言设计与框架,比如 面向对象的能力特性,继承,封装,多态在前端技术中不知道如何实现 很像将一些设计原则应用到前端,如单例,工厂,观察者等 谈不上在应对复杂软件的核心解决方案...: 虽然在最终产物阶段,仍受限于浏览器,但在编码阶段,技术的发展与能力与浏览器再无关联 由于不再受到浏览器的限制,前端的技术开始突飞猛进,五花八门,包括但不限于: 由于JavaScript比较糟糕,出现了...TypeScript这样的与Java现代化语言非常相近的技术替代JavaScript 在HTML方向,出现了React,Vue等组件式的框架 为应对复杂样式的需要,演进出了具备编程能力的样式,如less...CSS 在『后』前端时代,由于突破了浏览器的限制,自然出现了更好的css的替代者。...因此前端出现了一些翻译转换技术,它们的作用就是将前端各种花式的新技术的玩意转换成HTML,CSS,JS三个东西。

2K20

一杯茶的时间,上手 Gatsby 搭建个人博客

这里面查询语句虽然写的是字符串,但其实这些查询语句不会出现在最终的代码中,Gatsby 会先对其抽取[17]。 个人其实不太喜欢魔法,因为会增加初学者的理解难度。...对 Connections 细致的理解往往是实现分页等底层需求才需要,而这些均有插件完成。...我在修改 starter 踩到一个坑是复制组件忘了修改 static query 查询语句的名称,导致重名报错。 避免错误最好方式是在 GraphiQL 编辑器中写好运行无误再复制到组件中。...另外一种处理方式是在 /gatsby-node.js 中通过 onCreateNode 钩子,在生成 markdown 相关节点手工处理,确保节点存在。...Gatsby 在生成 GraphQL 节点提供了钩子 onCreateNode,我们利用这个钩子往 fields 中放自定义的数据。

3.2K20

useEffect与useLayoutEffect

componentWillUnmount这三个生命周期函数的组合,那么我们也可以使用useEffect将其分离,首先对于componentDidMount与componentWillUnmount,也就是想执行只运行一次的 effect(仅在组件挂载和卸载执行...> {count} setCount(count + 1)}>count + 1 <...下面这个例子就会出现一个bug,在依赖数组中没有传递count,那么就会导致当effect执行时,创建的effect闭包会将count的值保存在该闭包当中,且初值为0,每隔一秒回调就会执行setCount...当函数组件刷新渲染,包含useEffect的组件整个运行过程如下: 触发组件重新渲染,通过改变组件state或者组件的父组件重新渲染,导致子节点渲染。 组件函数执行。 组件渲染后呈现到屏幕上。...当函数组件刷新渲染,包含useLayoutEffect的组件整个运行过程如下: 触发组件重新渲染,通过改变组件state或者组件的父组件重新渲染,导致子组件渲染。 组件函数执行。

1.2K30

React 设计模式 0x6:数据获取

然而,当组件重新渲染,这些数据并不总是需要重新计算或重新获取。有几种方法可以在 React 中实现数据缓存。...# Memoization Memoization 是一种优化技术,主要用于通过存储昂贵的函数调用结果,并在再次出现相同输入时返回缓存的结果来优化计算机程序。...Memoization: useMemo React 提供了一个内置的钩子函数 useMemo 允许您对耗费性能的函数进行记忆化,以避免在每次重新渲染时调用它们 只需传入一个函数和一个依赖数组,useMemo 将仅在依赖中的一个值发生变化时重新计算记忆化的值...useCallback React 提供了一个内置的钩子函数 useCallback,允许您对耗费性能的函数进行记忆化,以避免在每次重新渲染时调用它们 只需传入一个函数和一个依赖数组,useCallback 将仅在依赖中的一个值发生变化时重新计算记忆化的函数...尽管数据被缓存,但在刷新页面,它将丢失数据,需要重新获取。此外,您可以获取数据并将其存储在 React 应用程序状态中。

1.2K20

30个前端开发人员必备的顶级工具

Gatsby https://www.gatsbyjs.org/ Gatsby 是基于React的免费开源框架,可帮助 开发人员建立快速的网站和应用程序。...Gatsby站点 和更多。...Caniuse https://caniuse.com/ 我不知道你是怎么想的,但当我需要了解浏览器对任何HTML、CSS、SVG和JavaScript功能支持的最新信息--无论这些功能是多么新奇或晦涩难懂...https://responsivedesignchecker.com/ Responsive Web Design Checker,即响应式网页设计检查器,是另一个免费的在线应用,可以测试你的网站不仅在不同的屏幕尺寸上...从本质上讲,它允许你在浏览器中编写代码,并在构建查看其结果。对于任何技能的开发人员来说,这是一个有用的和自由的在线代码编辑器,特别是对于学习代码的人来说,这是一个赋能。

3K20
领券