react 官方支持的创建命令为npx create-react-app my-app --template typescript
官方脚手架集成了 webpack,但是相关配置并没有暴露出来,需要自己借助第三方工具配置。比如 craco 文档为https://www.npmjs.com/package/@craco/craco。但是通过第三方配置比较复杂,接下来我们用在webpack中创建react的形式搭建一个项目
welcome to wonderland
react 官方支持的创建命令为npx create-react-app my-app --template typescript
官方脚手架集成了 webpack,但是相关配置并没有暴露出来,需要自己借助第三方工具配置。比如 craco 文档为https://www.npmjs.com/package/@craco/craco。但是通过第三方配置比较复杂,接下来我们用在webpack中创建react的形式搭建一个项目
首先来看看 Webpack 官网对 Plugin 的官方解释:
Webpack 插件是一个具有 apply 方法的 JavaScript 对象。apply 方法会被 Webpack Compiler 调用,并且在整个编译生命周期都可以访问 Compiler 对象。它向第三方开发者提供了 Webpack 引擎中完整的能力。使用阶段式的构建回调,开发者可以在 Webpack 构建流程中引入自定义的行为。
雪碧图作为一种之前经常用来做图片性能优化的方案,其缺点也比较明显,就是需要手动标明图片的大小和位置,而且需要手动合并雪碧图。对 UI 和开发人员来说,这样的操作非常繁琐。
所以,我们需要一个工具来帮助我们自动生成雪碧图,并且能够自动合并雪碧图。
特点
跨平台:React Native 使用了 Virtual DOM(虚拟 DOM),只需编写一套代码,便可以将代码打包成不同平台的 App,极大提高了开发效率,并且相对全部原生开发的应用来说,维护成本也相对更低。
上手快:相比于原生开发,JavaScript 学习成本低、语法灵活。允许让 Web 开发者更多地基于现有经验开发 App。React Native 只需使用 JavaScript 就能编写移动原生应用,它和 React 的设计理念是一样的,因此可以毫不夸张地说:你如果会写 React,就会写 React Native!
原生体验:由于 React Native 提供的组件是对原生 API 的暴露,虽然我们使用的是 JavaScript 语言编写的代码,但是实际上是调用了原生的 API 和原生的 UI 组件。因此,体验和性能足以媲美原生应用。
热更新:React Native 开发的应用支持热更新,因为 React Native 的产物是 bundle 文件,其实本质上就是 JS 代码,在 App 启动的时候就会去服务器上获取 bundle 文件,我们只需要更新 bundle 文件,从而使得 App 不需要重新前往商店下载包体就可以进行版本更新,开发者可以在用户无感知的情况下进行功能迭代或者 bug 修复。但是值得注意的是,AppStore 禁止热更新的功能中有调用私有 API、篡改原生代码和改变 App 的行为
merge 操作会生成新的合并节点,并保留原本的分支记录
1 | git checkout feature |
git rebase
rebase 操作会将功能分支合并到主分支中,并且不产生新的合并节点
1 | git checkout feature |
git rebase 和 git merge 的区别
rebase 会把你当前分支的 commit 放到公共分支的最后面,所以叫变基。就好像你从公共分支又重新拉出来这个分支一样。
而 merge 会把公共分支和你当前的 commit 合并在一起,形成一个新的 commit 提交
git rebase 和 git merge 的优缺点
git merge 优点是分支代码合并后不破坏原分支代码的提交记录,缺点是会产生额外的提交记录并进行两条分支的合并
git rebase 优点是可以将对象分支的提交记录续道目标分支上,形成线性提交历史记录,review 时更加直观
使用 git rebase 的黄金法则 🌿
就是不要再公共分支执行 git rebase
Rebase 将 main 中的所有提交移到了 feature 的顶端。问题是,这只发生在你的版本库里。所有其他的开发者仍在使用原来的 main。由于重定会产生全新的提交,Git 会认为你的主干分支的历史已经与其他人的不同了。
同步两个主分支的唯一方法是将它们 merge 到一起,这样就会产生一个额外的合并提交和两组包含相同修改的提交(原始提交和来自你的重构分支的提交)。不用说,这是一个非常混乱的局面。
所以,在你运行 git rebase 之前,一定要问自己,”还有人在看这个分支吗?”如果答案是肯定的,就把你的手从键盘上拿开,开始考虑其他方式来合并修改。
一年多没有更新博客 经历了 22 年上海三月到五月的封控,辞掉了之前的工作。六月解封之后就火速跑到了杭州,换了新的工作,一直到现在。
近一年一直在做物联网 iot 工业互联网相关的事情
做了快一年的 app 多少也算是有一些收获,整理一下,也算是对这个项目的一个总结
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true