npm配置镜像1npm config set registry https://registry.npmmirror.com
查询npm镜像1npm get registry
cnpm安装cnpm1npm install -g cnpm --registry=https://registry.npmmirror.com
yarn安装yarn1npm install -g yarn
配置镜像1yarn config set registry https://registry.npmmirror.com
查看配置列表1yarn config list
配置全局安装目录和缓存目录123456# 全局bin目录yarn config set prefix "E:\environment\nvm\Yarn\yarn"# 全局安装目录yarn config set global-folder "E:\environment\nvm\Yarn\yarn_global"# 缓存目录yarn config set cache-folder &qu ...
小工具随手写的html代码转C语言数组的小工具,记录一下
关键代码12345678910111213141516171819202122232425private void button1_Click(object sender, EventArgs e){ //获取输入的html代码 string html = textBox1.Text; //根据换行符分割html代码为数组 string[] htmlArr = html.Split('\n'); //给每个数组前面添加双引号 后面添加 \r\n" for (int i = 0; i < htmlArr.Length; i++) { //判断数组是否为空字符串或者空格等情况 if (htmlArr[i] != "") { //将数组中连续两个以上的空格替换为一个空格 htmlArr[i] = System.Text.Re ...
flutter
未读flutter沉浸式-底部状态栏透明沉浸在main入口配置即可
123456789101112main() { runApp(MyApp()); if (Platform.isAndroid) { SystemUiOverlayStyle systemUiOverlayStyle = const SystemUiOverlayStyle( statusBarColor: Colors.transparent, systemNavigationBarColor: Color(0x002196f3), ); SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle); SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge); }}
大小限制
npm 上传的文件大小限制为 100M,如果超过 100M 会报错。
GitHub 图床仓库大小不能超过 1G。因为 GitHub 原则上是反对仓库图床化的,当仓库超过 1G 后会有人工审核仓库内容,如果发现用来做图床,轻则删库重则封号。需注意。
jsDelivr 加速的单文件大小为 50M。这也就限制了单张图片大小上限。
jsDelivr+npm 有 100MB 包大小限制
npm 饿了么节点没有大小限制
目前我使用的是cdn.cbd.int
访问1234jsd出品,网宿国内节点https://cdn.jsdelivr.net/npm/:package@:version/:fileunpkg 自建https://cdn.cbd.int/:package@:version/:file
npm流程
需要注册 npm 账号,可以去 npm 官网创建下,然后邮箱验证即可。
在头像下拉表点击 Account,在 Two-Factor Authentication 处启用 2FA双重认证,记住,这部分十分重要!会关联到登录账号和发布验证的部分。官方文档:2FA 双重认证,我使用的是 ...
遇到webview不能显示ip地址形式的网页问题非必要不去设置
在AndroidManifest.xml中添加如下代码android:usesCleartextTraffic=”true”添加到application标签中
1234<application android:usesCleartextTraffic="true"></application>
android:usesCleartextTraffic指示应用是否打算使用明文网络流量,如明文 HTTP。 对于目标 API 级别为 27 或更低级别的应用,默认值为 “true”。对于以 API 级别 28或更高级别为目标的应用,默认值为 “false”。如果将此属性设为 “false”,平台组件(例如 HTTP 和 FTP 堆栈、DownloadManager 和 MediaPlayer)会拒绝应用要使用明文流量的请求。
强烈建议第三方库也遵循此设置。避免使用明文流量的主要原因是缺乏机密性、真实性和防止篡改的保护措施。网络攻击者可以窃听传输的数据,还可以在不 ...
Fisher-Yate洗牌算法1234567function shuffleArray(array) { for (let i = array.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)); [array[i], array[j]] = [array[j], array[i]]; } return array;}
这个 shuffleArray 函数接受一个数组作为参数,并返回打乱顺序后的新数组。它使用了 Fisher-Yates 洗牌算法的思想:
从最后一个元素开始,向前遍历数组。
对于每个元素,生成一个随机索引 j,范围是从 0 到当前元素的索引 i。
将当前元素与随机索引 j 处的元素交换位置,通过解构赋值实现。
继续向前遍历数组,直到遍历完所有元素。
返回打乱顺序后的数组。
使用示例:1234const array = [1, 2, 3, 4, 5];const shuffledArr ...
升级flutter SDK时遇到的报错提示12Unknown flutter tag. Abandoning upgrade to avoid destroying local changes. It is recommended to use git directly if notworking on an official channel.
执行flutter upgrade --force命令强制升级
用vitepress搭建的图鸟Vue2文档演示Github仓库
flutter
未读前言今天用了一个flutter的pdf插件,但是在更新pdf的时候,发现没有刷新,查看源码发现是用到了安卓原生,于是就想到了强制刷新组件。
使用Key强制刷新组件使用 Key 属性:为 PDFView 组件提供一个唯一的 Key 属性。这样,当您需要更新数据时,可以通过更改 Key 属性来触发 PDFView 组件的重建。
123456789101112131415161718192021class _PDFViewState extends State<PDFView> { Key _pdfViewKey = UniqueKey(); @override Widget build(BuildContext context) { return PDFView( key: _pdfViewKey, // 设置唯一的 Key 属性 pdfData: widget.pdfData, // 其他属性和回调函数... ); } void updatePDFData(Uint8List newData) ...
2023.3.0版JRebel插件激活
删掉用户名下的.jrebel文件夹,否则之前激活失败会导致无法激活
下载最新版JRebel插件
打开IDEA,点击File->Settings->Plugins->Install Plugin from Disk…,选择下载的JRebel插件,点击OK
重启IDEA,点击settings->JRebel &Xrebel ->,选择激活
下载代理并双击打开 找对应版本下载 https://github.com/ilanyu/ReverseProxy/releases/tag/v1.4
输入激活地址http://localhost:8888/{GUID},邮箱随便都可以,勾选同意,点击提交
guid在线生成地址 www.guidgen.com/
把JRebel设置为离线工作模式,点一下work offline。