新手入门
Shopee_Rex
学习ing
展开
-
typescript 如何反推数组的类型
使用infertype ArrayType<T extends any[]> = T extends Array<infer R> ? R : never;使用interface A { data:number}type B = A[];ArrayType<B> // 等同于 返回 A原创 2022-05-08 22:25:25 · 801 阅读 · 0 评论 -
pod构建的ios版本引发 react-native-safe-area-context RN项目的pod-install构建异常
RN 使用react navigation的案例时运行pod-install报错Auto-linking React Native modules for target `Entry_task_ts`: RNScreens and react-native-safe-area-contextAnalyzing dependenciesFetching podspec for `DoubleConversion` from `../node_modules/react-native/third-part原创 2022-05-03 20:00:31 · 2468 阅读 · 0 评论 -
ReactNative Expo 开启ios模拟器老是提示安装xcode
如果需要在MacOS开启模拟器,首先需要进行如下几步安装xcode安装完之后,打开xcode选中xcode应用,点击选项卡Xcode选中open developer tool中的simulator这样就可以打开ios的模拟器问题这个时候通过expo启用模拟器的时候,一直提示我们没有安装xcode,这是因为xcode的common路径没有配置我们回到xcode,按下面操作配置之后重新启动react,再运行ios simulator就会在模拟器上安装expo...原创 2022-04-28 20:29:06 · 1828 阅读 · 0 评论 -
prettier在代码提交前自动格式化
prettier使用husky配置git提交自动格式化文件原创 2022-04-21 23:30:27 · 5045 阅读 · 2 评论 -
6个用例快速理解vue3的watchEffect用法
用例1 – 单值、多值侦听const value1= ref(1)const value2 = ref(2)watchEffect(()=>{ const v = value1.value; console.log('watchEffect1', v)})watchEffect(()=>{const v = value2.value; console.log('watchEffect2', v )})// 2个值watchEffect(()=>{con原创 2021-11-29 00:27:58 · 1814 阅读 · 0 评论 -
TypeError: this.getOptions is not a function 引入less一直报错
错误提示如下Syntax Error: TypeError: this.getOptions is not a function @ ./node_modules/vue-style-loader??ref--10-oneOf-1-0!./node_modules/@vue/cli-service/node_modules/css- loader/dist/cjs.js??ref--10-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePost原创 2021-02-02 11:46:50 · 34244 阅读 · 28 评论 -
vscode中的eslint的ts文件不会错误提示,但是编译的时候报错了
这是因为vscode的eslint的配置没有设置typescript文件。第一步 打开设置首选项》设置第二步:搜索validate第三步:添加typescript结果在ts文件提示eslint错误了。原创 2021-02-02 10:33:46 · 7134 阅读 · 1 评论 -
VUE中的watch支持数组函数
前言最近阅读VUE源码,发现watch对一个属性监听的时候,可以传入一个数组函数进行监听源码function initWatch (vm: Component, watch: Object) { for (const key in watch) { const handler = watch[key] // 可以为数组? if (Array.isArray(handler)) { for (let i = 0; i < handler.length; i+原创 2020-12-02 22:10:11 · 638 阅读 · 0 评论 -
vscode中prettier与eslint一起使用格式化时候会报错
代码风格与代码检测冲突我们经常使用prettier与eslint进行代码格式化与代码检测,但是经常遇见格式化之后依然存在代码检测的异常,这主要是因为eslint的配置没有与prettier的规则设置为相同。我查看了网上给的设置都比较过时了,prettier官方提供了一个新的方法例子通过prettier格式化之后,报错设置方法首先在vscode的setting.json中添加prettier的设置 "editor.codeActionsOnSave": { // For ESLi原创 2020-08-26 11:52:46 · 3407 阅读 · 0 评论 -
从0开始搭建一个疫情地图小程序——小程序篇
为什么选小程序主要还是服务器的费用的问题,小程序开发结合云服务器可以省掉很多运维的问题,加上我这次开发主要是为了熟悉小程序的组件开发与echart在小程序绘制地图的性能表现。前端页面展示首页切换页面各地详细页面源代码前端实现这里并不全部讲前端的代码,主要讲我在开发的时候遇到的坑。组件开发拿我首页上,每天数据的显示,我将它封装为一个组件。和VUE框架有很多的相同点,比如......原创 2020-03-10 22:18:06 · 13562 阅读 · 19 评论 -
作为参数传入数组之后,使用concat和push不同
作为参数传入数组我们都知道引用类型作为参数,是值传递,所以当你直接给参数指向另外一个数组的时候,是不会影响到原数组的,和作为参数传入的值。我们看看例子来理解function test(arr){ console.log(arr) // [1] arr = [2] console.log(arr) // [2]}var arr1 = [1]test(arr1)console.lo...原创 2019-10-31 21:10:52 · 262 阅读 · 0 评论 -
fabricjs文档阅读(二)
Part 2动画我们通过set方法就可以快速的修改canvas上的图形的属性。但是,往往我们在开发网站的时候除了完成功能需求之外,也需要提高网页的美观。所以动画是一个必不可少的功能。举个例子:rect.set('angle', 45);给这个变化属性添加动画非常简单,因为每一个图形对象都有一个animate的方法,只需要传入相应的参数即可rect.animate('angle', 4...翻译 2019-08-02 15:09:17 · 3422 阅读 · 0 评论 -
fabricjs文档阅读(四)
自由画笔如果说canvas还有什么可以说的亮点—那自然就是能够自由地在canvas绘画.fabric自然也提供了许多方法来进行这一交互功能.只要设置属性isDrawingMode为true就可以实现自由绘画.这时,鼠标就变成一个画笔,通过点击就可以在canvas画布进行绘画.只要设置了isDrawingMode为true你就可以随意地在canvas进行绘画.每次鼠标抬起之后,你所绘画的路径都...翻译 2019-08-02 19:10:03 · 4185 阅读 · 8 评论 -
fabricjs文档阅读(三)
群组群组是Fabric最强大的功能之一。它们就是它们听起来的样子——一种将任何fabric对象组合成单个实体的简单方法。我们为什么要这么做?当然,能够将这些对象作为一个对象来工作!还记得canvas上的任意数量的Fabric对象是如何用鼠标分组的吗?一旦分组,所有对象都可以一起移动甚至修改。他们组成一个团体。我们可以缩放这个组,旋转,甚至改变它的表示属性——颜色、透明度、边框等等。这正是组的...翻译 2019-08-02 16:16:55 · 3627 阅读 · 0 评论 -
javascript新手对命名空间使用会遇到的无法触发的问题
以上是参观了一些大神的解释,非常容易理解,要在JavaScript实现命名空间其实非常简单格式参照第一个就可以了,把一些变量放在里面就可以变成该js文件下的变量但是对于小白来说要如何使用还是有点疑惑。因为如果直接把所有代码放到命名空间后会发现,需要调用的函数都调用不了。(function(){ function show() { alert("11"); }})...原创 2018-04-17 13:45:47 · 209 阅读 · 0 评论 -
JavaScript face++ 人体识别API 与 人体抠像功能(一)
最近在开始接触网上API调用 完成了一个关于face++人体识别API,并通过这个API实现人体抠像功能。既然要实现人体抠像,我们顺便学习下,JavaScript调用摄像头的方法吧。有个博客写的很好 大家可以去看这个 我摄像头主要是参考他写的博客。我这里简单介绍下首先在html添加标签 <video><audio>这2个标签分别代表视频和音频1.打开摄像头有2个版本的方法,...原创 2018-05-31 21:59:52 · 3357 阅读 · 4 评论 -
JavaScript face++ 人体识别API 与 人体抠像功能(二)
保存图片上传图片图片处理效果保存图片 saveImage =document.getElementById('save'); saveImage.addEventListener('click',function () { alert(&quot;1&quot;); var mycan = document.getElementById(&quot;tes...原创 2018-06-07 21:17:29 · 2625 阅读 · 0 评论 -
webpack 打包入门
webpack入门今天打算学习下webpack打包工具,结果发现挺多坑的版本问题因为之前使用过webpack,所以用的是旧版本,但是打包的时候发现识别不了webpack和npx webpack这2个命令行,我怀疑是版本问题,我就把全局的webpack和webpack-cli卸载掉重新安装指定的版本。// 国内还是建议使用cnpm npm install -g cnpm -registr...原创 2019-07-05 16:23:25 · 184 阅读 · 0 评论 -
微信小程序自适应方法
微信小程序适配适配?如何适配原理rpx如何利用rpx图片适配元素布局其他总结适配?由于每一个手机屏幕大小尺寸不一致,这就导致了小程序页面显示的差异存在,为了尽量避免因为尺寸而出现的界面混乱。如何适配原理我们以每一个屏幕宽度为标准尺,通过比例计算获取相应的大小和位置。这样可以尽可能适配各种机型,但是如果面对差距比较大的设备,如PC、ipad等,就需要考虑不同设备的适配方案。一般都是可以获取...原创 2019-07-06 00:48:41 · 11206 阅读 · 0 评论 -
小程序markdown文件解析和代码高亮(一)
扫码体验想法由于最近阅读阮一峰的ES6文档觉得很不错,但是手机浏览网页会很吃力,所以打算把阮一峰的ES6文档移植到小程序上,打开既方便,浏览起来也比较方便。开始申请一个微信小程序号,跳过这部分得到一个属于自己的APPID。安装微信小程序的开发者工具在github上下载towxml的项目组件简单设计文档阅读一般注重文字,所以UI和页面风格应该以简约为主。ES6已经有主题颜...原创 2019-07-23 17:22:35 · 922 阅读 · 0 评论 -
小程序markdown文件解析和代码高亮(二)
静态页面设计完之后,我们在小程序上实现静态页面。这里就不全部讲了,就拿首页简单说明下。文件存放页面,主要一个是首页,其他是存放文档内容。组件我们讲下载好的towxml和一些ui图片放在common文件夹中,我们只需要copy完towxml中的一部分文件即可,如图。页面实现首页页面比较简单,就一个标题加2个转向按钮。wxml文件<view class="contain...原创 2019-07-23 17:55:34 · 626 阅读 · 0 评论 -
小程序markdown文件解析和代码高亮(三)
使用towxml简单说下,这个是可以讲html和markdown文件进行转换为wxml,支持很多富文本的编辑,我们在上一篇文章将towxml的组件复制到小程序的common后,就可以直接使用了首先在需要使用到的页面,需要导入main.js var main_js_1 = require("./common/towxml/main.js"); Page({ da...原创 2019-07-23 18:34:36 · 671 阅读 · 0 评论 -
小程序markdown文件解析和代码高亮(四)———优化篇
优化目录 动画为了美观一点,目录显示一闪一现有点突兀,考虑人的感官的舒适度,我觉得给目录加一个左移动的动画即可。因为这个目录是用组件写的,小程序最近发展的比较快,18年的时候还不太支持组件开发,现在就已经有支持了,并且用过之后感觉还不错。这里就不太赘叙组件的写法了,主要是如何给组件写动画的效果。组件的wxml<view class="marsk" bindtap='backt...原创 2019-07-23 22:22:38 · 213 阅读 · 0 评论