在 vue3 中写 tsx,编辑器识别为 React 模式报错怎么破?

两年没更新了,诈个尸,最近终于有时间来卷了 最近在重构公司表单系统,底层物料组件逻辑比较复杂需要 jsx 的能力,vue 这边是支持的,并且代码写完编译运行没有任何问题,但是编辑器里跳出来一个幺蛾子: 恩?你怎么用明朝的剑斩清朝的官? 第一个报错只在 webstorm 中有,vscode 里是没问题的,这个好解决,因为本身 React17 以后 jsx 对 react 导入的依赖已经不存在了,所以这其实是 WebStorm 的锅,配置上关关掉就行,基本上以后就算是 react 代码也不会再用到这个检查了: 第 2.3 个问题比较复杂,看报错,很显然,IDE 的 ts 检查器把 tsx 的代码默认以 react 的方式去执行了,我先上解决方案,不想深究的就没必要往下面看排坑历程了: ts…

基于blazeface的小程序人脸识别实例

此模板已经开源至 Github,欢迎 start、拍砖:https://github.com/Hansuku/blazeface-miniprogram Feature 基于微信 camera 的 api,对返回的帧使用 blazeface 解析人脸 如何演示 下载这个仓库,然后在小程序里导入项目即可,appid 可以用测试号,代码相对都比较简单,关键的地方加了注释 如何在你的项目里植入 blazeface 首先先去申请下tensorflow.js小程序版本的插件,点击链接然后在app.json里声明下,版本号改成最新的 { ... "plugins": { "tfjsPlugin": { "version": "0.1.0", "provider": "…

Flutter基础填坑

[TOC] 关于 Flutter 是什么就不再过多阐述了,网上已经有了很多相关文献 ####安装(MacOS) 首先必须保证电脑有这些东西,没有请下载 * brew * Xcode(AppStore 可下载) * Android Studio 前往 flutter 官网下载 SDK解压它 然后放到你常用的软件包位置 根据环境找到你的.zshrc或者.bashrc加入 export PATH=$HOME/flutter/bin:$PATH 这里的路径指向你刚才放 flutter 的文件夹路径 然后试一下flutter -h能否出帮助 如果可以则 flutter 安装正常,接下来安装 flutter 依赖 首先控制台里输flutter doctorOK,到这里你会发现有几个项目前面有感叹号,我们一个一个来解决 首先是这一项,前面假设你已经安装过 Android Studio 那么现在你只需要允许协议 flutter…

这可能是网络上唯一一篇给前端写的Docker+Node.js+Nginx+Mongo的本地开发+部署教程

本文由 Han 和运维小哥哥哼哼合力研究发出 当前端需要往更高的方向需要进阶的时候,就需要抢一点的后端的饭碗了,从前一些很简单的需求都需要求着后端给,不妨自己尝试着做一些微服务,来完成一些轻量级的服务端任务吧。 这篇文章面对的是对于前端、计算机领域已经相对熟悉的同学,你需要有计算机的基础常识(了解系统、镜像、linux)。此外,本文不会深入去讲解理论知识,看理论知识不如去爬官网文档。如果你已经了解过 Docker,只是在寻找一种解决方案,可以直接跳到编写 Docker-Compose 的地方。 另外,我已经准备好了一个模板库,可以根据这个模板库来作为基底来构建你的项目 粗暴的讲一下 Docker 还记得在上学的时候学校机房里的 VMware Workstation 吗?他可以让我们在 windows 或 mac 上运行许多系统的虚拟机,而VMware Workstation里重要的一个概念就是宿主机-虚拟机。 初学者可以先把Docker理解为跟VMware Workstation类似的产品,但如果需要深究他们区别在哪,我们则需要记住:他们相似的仅仅是提供了在系统上运行另外一…

ReactHook 手记

React Hook React Hook 是 2019 年 React 生态圈里最火的一个新特性,改变了我们传统使用 React 类来开发的方式,改用函数式写法,改变复杂的状态操作、改变状态组件的复用性。 首先通过一个简单的 demo 来看看 React Hook 长什么样 我们写一个简单的计次器,传统的代码张这样 import React, { Component } from 'react'; class Example extends Component { constructor(props) { super(props); this.state = { count:0 } } render() { return ( <div> <p>…

高频请求下取消前一次请求

先讲下需求,在一个 input 框里我们每输入东西都去后端检索,正常的做法是把请求包在防抖里,来减少请求,但这样还是很有概率导致用户输入的东西无效,其次是很有可能我上一次的请求会在下一次请求之后才返回,如果不加顺序锁会导致数据展示错乱。看到百度搜索框的响应后发现他们是下一次请求的时候把之前的请求直接 canceled掉,这样做的好处是用户方面不会有任何感官,而且展示的数据不会错乱。 XMLHttpRequest 在原生 ajax 中提供了一个abort()方法来取消请求 var xhr = new XMLHttpRequest(), method = "GET", url = ""; xhr.open(method,url,true); xhr.send(); // 在取消的时候调用这条 即可取消请求 xhr.abort(); jQuery jQuery 的 ajax 也与原生基本无出入,方法更加简单 var xhr; var ajax…

操作模拟测试和单元测试

NightWatch 的 e2e 测试 安装 npm i -D nightwatch 如果使用 Vue cli3 构建的项目可以在 vue ui界面中自动安装 一旦我们启用这个测试文件,nightwatch 会打开 Selenium 会话 这里我们拿百度和马天宇开刀,聪明的同学一眼就能看会 module.exports = { 'default e2e tests': browser => { browser // 打开百度 .url('https://www.baidu.com') // 等待百度页面渲染完成,我们以#wrapper元素为基准,最多等待 5 秒 .waitForElementVisible('#wrapper'…