- 博客(28)
- 收藏
- 关注
原创 记一次安卓.apk加固,加固后安装失败,重新签名也安装失败问题
targetSdkVersion>=30,则必须使用apksigner进行签名,jarsigner只支持V1签名。
2024-05-30 15:49:34 956
原创 从npm到yarn,再到pnpm
总的来说,yarn是为了解决npm的问题而出现的,实在npm的基础上做了优化,尽管npm也解决了一些以前的问题,但yarn的并行安装还是比npm的串行安装更快,但二者的依赖管理机制大致相同,存在相同的问题;pnpm则是开创了一套新的依赖管理机制,解决了yarn和npm的通病。
2024-04-26 14:30:42 1584
原创 webpack、rollup、vite、esbuild 前端构建工具到底有什么关系和区别?
- webpack是一个完整的web应用构建工具,提供各种资源处理、开发服务器和生产版本构建- Vite是一个新型前端构建工具,基于esbuild和rollup的双引擎架构,默认的构建目标是支持Es模块的浏览器- rollup专注于ES模块,追求的是小,更适合纯js类库的打包- esbuild使用go语言开发,追求的是快
2024-04-24 18:26:36 1610
原创 esbuild 极速的JavaScript构建打包工具
在其他的构建工具中,只是将esbuild应用于开发环境,从而有更快的开发体验,比如在vite中 ,开发环境下使用esbuild快速构建,而构建部署版本时则使用的是rollup;多个小块的代码可以并行下载,提高整体加载效率。比如内置了对.js、.jsx、.ts、.tsx 、.css、.module.css 等的支持,其他文件类型则需要添加社区的loader或者手写插件进行处理,比如:less、sass、img、字体图标库等。当nodejs还在解析打包程序的js的时候,go已经在解析要构建的js了。
2024-04-24 16:05:07 806 3
原创 Expo是什么?使用Expo创建ReactNative工程和构建
此文记录了Expo的工程搭建、构建应用到Expo Go 沙箱环境中、使用云端远程构建、使用本地构建。
2024-04-11 18:37:22 5901
原创 jest globals不生效,jest globals定义的全局变量在使用时报错ReferenceError: SSO_ENABLED is not defined
指定文件单元测试正常,直接运行jest执行全部单元测试报错,jest中的globals变量配置,变量赋值为undefined的时执行npm jest读取不到
2024-04-03 11:47:49 222
原创 HTTP、WebSocket、STOMP、MQTT 协议
要使用HTTP实现双向通讯,传统的方式即进行轮询已达到效果(即每隔一段时间,想服务器发出请求获取最新的数据),常见的轮询方式分为轮询(定时请求)和长轮询(请求后服务器在有数据变化时才响应,客户端在请求快过期前或请求响应后,再次发起请求)。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而 HTTP 请求与响应可能会包含较长的头部,其中真正有效的数据可能只是很小的一部分,所以这样会消耗很多带宽资源。通过TCP套接字,向服务器发送一个文本的请求报文(请求行、请求头、请求数据、空行)
2024-03-06 11:07:26 1596
原创 umi/webpack + nginx 启用gzip,优化请求文件大小,加快首屏渲染速度
umi/webpack + nginx 启用gzip,优化请求文件大小,加快首屏渲染速度。压缩分为两种模式,动态压缩、静态压缩
2024-02-27 15:03:33 632 1
原创 umi/webpack + express 启用gzip,优化请求文件大小,加快首屏渲染速度
umi/webpack + express 启用gzip,优化请求文件大小,加快首屏渲染速度。压缩分为两种模式,动态压缩、静态压缩
2024-02-27 14:37:19 685
原创 记一次坑爹问题:nginx配置跨域允许 add_header Access-Control-Allow-Origin *; 不生效
nginx配置跨域允许 add_header Access-Control-Allow-Origin *; 不生效
2023-12-14 17:34:44 3026 1
原创 React/ReactNative + TypeScript 使用后端提供的swagger Json 文件生成service定义
使用@umijs/openapi根据swagger.json 生成service 类型定义
2023-12-06 14:26:31 381 1
原创 数据流管理、状态管理库:flux、redux、mobx、dva、vuex、zustand、valtio、recoil、jotai
- 单向数据流、中心化管理、函数式:redux、zustand、dva等- 响应式、集中式管理:mobx、valtio、vuex等- 原子状态模式、分散管理:recoil、jotai等
2023-11-02 18:28:38 904 3
原创 Umi Max 使用qiankun微前端创建主应用,与React、Vue子应用的通讯
qiankun微前端接入时,子应用的注册、子应用时初始化数据、子应用加载处理使用了UmiMax提供的能力;父子通讯绕过了UmiMax,直接使用了qiankun插件的能力
2023-08-18 16:28:30 1379 3
原创 Es6 元编程,Proxy(代理)和Reflect(反射)
Reflect对象与Proxy对象一样,都是 ES6 为了操作对象而提供的新 API。
2023-06-12 11:54:13 141
原创 react 混合开发,IOS端H5页面的图片偶尔加载失败
使用react混合开发移动端时,在主页上有多个空数据占位图,在加载时显示loading,加载完成后没有数据显示图片。在IOS端H5页面的图片偶尔加载失败
2022-11-23 17:02:03 1108 1
原创 react项目,使用express框架部署服务,index.html被缓存
在使用react + umi框架做前端开发,使用express框架部署服务的时候,遇到index.html被缓存,导致页面不更新,需要强制刷新或清除缓存。
2022-08-11 21:31:06 925
原创 CSS 文本超出隐藏
注:布局中存在flex布局,会出现不起作用。解决方案是再嵌套一层。有的时候不知道啥原因,单行文本超出隐藏就是没作用(可能是没有设定固定宽高的原因)。采用多行文本超出隐藏方案解决,如下:...
2022-06-24 10:12:52 4794
原创 ES6 Promise 对象
1、异步编程的一种解决方案。从Promise对象可以获取异步操作的信息。2、一旦创建就会立即执行,无法中途取消。3、在平时的异步处理过程中,经常需要顺序处理异步操作,需要在每个异步操作完成时,再去嵌套调用另外操作,形成回调地狱。4、Promise通过链式操作可以顺序处理操作。降低了编码难度,增强了 代码可读性。创建一个Promise实例,接受一个函数作为参数,该函数的两个参数分别是resolve和reject三、Promise实例状态1、pending(进行中):对象内部的异步请求正在进行,无法获
2022-06-02 11:46:18 143
原创 webpack 打包并压缩为zip文件
在项目开发过程中,用webpack 进行打包发布,但是打包完成后要手动打包为zip文件,每次都要手动去操作,比较麻烦。网上找了一圈,发现有几种说法,尝试后选择了合适的,记录一下:1、filemanager-webpack-pluginnpm install filemanager-webpack-plugin --save-dev该插件,支持文件移动、删除、创建、压缩等功能。最终没有使用这个玩意,因为我用的是webpack4.3 版本,这个插件需要webpack5去支持。参考:https://g
2022-04-26 14:38:32 2503
原创 react Hooks
最近在学习react相关的东西,记录一下react函数式编程中的Hooks相关内容;Hooks要解决的问题:在函数式组件中,不能使用类组件中的state和生命周期写法,Hooks让函数式组件,能够更简洁的实现react的一系列特性。Hooks主要包含的内容有:一、组件状态管理钩子useState:组件状态管理的钩子,相当于类组件中定义state和setStateimport { useState } from 'react';//state 状态值 //setState 更新状态值的方法
2022-01-06 11:10:21 486
原创 帆软函数:阿拉伯数字转中文、阿拉伯数字转人民币大写
一、阿拉伯数字转人民币大写CNMONEY(number,unit)number:数字。unit:单位,“s”,“b”,“q”,“w”,“sw”,“bw”,“qw”,“y”,“sy”,“by”,“qy”,"wy"分别代表“拾”,“佰”,“仟”,“万”,“拾万”,“佰万”,“仟万”,“亿”,“拾亿”,“佰亿”,“仟亿”,“万亿”。如果为空,则直接将 number 转换大写,否则先将 number 与单位的进制相乘,然后再将相乘的结果转换为大写。如:CNMONEY(1200)等于壹仟贰佰圆整二、阿拉伯数
2022-01-05 16:21:03 2762
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人