解决 WebStorm 错误: 请指定要运行的 npm
今天用 Vite 新建了一个 React 项目,使用 WebStorm 打开以后发现无法添加 NPM 运行脚本了。
如图所示,正常情况下,点击 脚本 下拉列表以后,会列出 package.json 文件 scripts 下的所有可执行命令,但是我这就死活弄不出来,下面还报了一行警告:错误:请指定要运行的 npm 脚本。
但经过我测试,如果强行忽略警告,继续运行的话是能正学运行 NPM 命令的,不过就是每次运行都会警告一次,挺恶心的。
后来网上查了一下,说是 WebStorm 对 json 类型文件识别丢失了造成的,于是修复办法如下:
打开 设置 -> 编辑器 -> 文件类型,在右侧的 识别的文件类型 列表中找到 JSON,点击右侧加号按钮,添加上 *.json 即可。
关联好文件类型以后,再次添加配置运行脚本可以看到已经恢复正常了。
奇怪的是不知道为什么突然就丢失关联类型了。
2024 年为网站接入 Google OAuth 登录
自 微寻 和 爱五 笔之后,我便打算以后只做海外的产品。
但无论是否做海外的产品,对于用户认证、授权相关的逻辑还是那些,之前在国内我搞了一个微寻,但很快就被 微信封杀 了,索性我也不再去弄。
而海外就简单太多了,Google、Github、Facebook、X 等这些平台都是可以 OAuth 登录的,我选择 Google OAuth,而且我平时非常喜欢有 Google OAuth 的网站,有 Google OAuth 的网站我是绝对不会去使用邮箱或者其它渠道进行注册登录的。
我甚至认为,只要有 Google OAuth 就够了,起步阶段不必花费时间去搞什么邮箱登录,从我的认知来看,海外的网站一般都是邮箱登录和其它第三方登录。
一、为什么要用 OAuth 呢?一句话:省事儿。
一般的 OAuth 都会提供:用户名和头像,我们以邮箱账号注册为例,分析一下一个网站对于这种注册登录机制需要哪些逻辑:
注册页面
注册逻辑
邮箱确认逻辑(包含发送邮箱验证码或确认链接)
登录页面
登录逻辑
忘记密码(向邮箱发送验证码或确认链接)
修改密码
用户中心
修改密码
修改头像
而以上这些,在 ...
写在爱五笔发布一个月以后
今天是 2024 年 06 月 28 日,距离 爱五笔 正式发布整整已过去了一个月,距离 微寻停止服务 刚刚过去了一天。
本来应该在 爱五笔 正式线上发布之后立马就写下此文的,之所以拖到了今天才写,那真的是因为我太懒了,写文字好难,比编码困难多了,甚至一度不想法为爱五笔写一篇产品文章。
恰好今天在写 微寻停止服务 的时候再次遇到了这么一个我定制五笔词库的经典场景,平时想出还真不好找,所以立马截图留了下来,也正好趁着今天已经码了一些字,趁热劲儿一并把这个文给补了吧。
场景复现我从学五笔的时候就一直用的 86 五笔,当时用的 Windows 7 操作系统,输入法软件用的是极点五笔,词库也是默认的极点五笔输入法自带的默认词库。
后来我学会五笔之后,用了一个通宵,把我当时极点词库里的词条都大概地过了一遍,不记得极点词库的默认词库有多少条了,大概 6 万到 8 万吧,把一些我学五笔的时候,经常遇到的不合适的词条进行定制调整。
所谓的定制调整,听起来高大尚,说白了无法就是调整一下词条的位置、删除一些重复的词条之类的操作。
比如,正常的词库里,退款 这个词条的编码是 veff,但我们打出来以后,发现 ...
微寻已无法提供服务
事发就在昨晚我沉迷于地摊烧烤的时候,一位朋友在微信上问我微寻是不是出什么 BUG 了,并附了一张截图:
我心感不妙,立马从手机上去登录了一下,果然:
结束了。
昨天是 2024 年 06 月 27 日,微寻正式发布于 2024 年 04 月 27 日,正正好好两个月。
我立马去微信群里通知已经付费了的朋友们私聊我进行全额退款。
直至我写此文时,还有人加微信反馈 微寻扫码登录不上:
微寻只在刚刚上线时稍微推广过一波,两个月来一直正常运行,直到前天的时候,突然多了一些流量,有好几个来加微信的。
出于好奇,我问了是通过什么渠道得知微寻的,对方发给了我这篇公众号文章:https://mp.weixin.qq.com/s/mjzPz9WIBfBi7txyIKq4-g
这篇文章的作者本意是好的,我们并不认识,事先也不曾联系过,他能自发地写下这篇文章,并在文章下面标注了各种引用链接,我是在心里由衷地感谢他。
但评论区向来才是最精彩的地方:
我当时以为这个人只是在开玩笑就没有当真,因为仅凭这么一句看似开玩笑的评论,并不能下定论就这位干的,不过真的就在第二天,就被封了,微寻上线两个月以来都没 ...
我独立开发生涯的第一个商业化产品 - 微寻
2024 年 04 月 27 日晚八点,微寻 终于正式上线了。时隔一周,我在五一假期的最后一天写下此文,以纪念这款我独立开发生涯的第一个商业化产品。
1. 何为微寻微寻 为个人网站提供微信码登录 能力。
没错,微寻 是一个小型 SaaS,它以极简的方式对外开放微信扫码登录的能力。个人开发者如果想为自己的网站接入微信扫码登录便可以通过 微寻 来实现。
无需烦人的申请流程、无需复杂的开发配置 、无需昂贵的认证年费。
只需轻松对接两个接口,即可为您的网站接入微信扫码登录。
一切,就是这么简单。
一个熟练的开发者,可以在 2 个小时之内(甚至更快)通过微寻将自己的网站接入微信扫码登录。
2. 想法诞生现如今 2024 年,微信扫码登录 已然成了很国内多人登录一个 PC 网站的习惯,我个人便是如此。
微信扫码登录相比于常规的账号注册、登录机制对于用户来说方便很多。
2.1 站在用户角度站在用户角度,用户只需要拿起手机扫一扫就可以完成账号注册、登录环节,免去了诸多麻烦。
一般的网站如果有账号机制的话,都会有用户的头像上传、昵称等修改机制,而微寻扫码后,这一切都已经在几秒钟之内完成了,不需要再去单 ...
2024 年我的 Hexo 博客终极方案 -(三)图床
我将我的 Hexo 博客方案分为了三篇:
(一)搭建(二)优化(三)图床
继上一篇 2024 年我的 Hexo 博客终极方案 -(二)优化 发布许久之后,终于得空可以在五一假期的深夜里写下这最后一篇:图床。
云存储平台选择国内写独立博客,图床是比较重要的一环,除非你的文章里从不带有图片,不然每位博主都会面临图床方案的选择。
在 2024 年,很多博主不慢网络问题,依然选择白嫖 Github。如果没有网络问题,Github 真好啊~
我个人比较懒,直接选择了一家国内的云存储做一个图床算了。
对比了七牛、阿里云 OSS、腾讯云 COS、又拍云,我选择了又拍云 因为我账户里还有 N 年前充值的 200 元巨款。
之所以一番对比下来选择了 又拍云,是因为我个人非常喜欢简洁的东西。没错!又拍云就是比其它的平台简洁,操作界面非常通俗易懂(至少我个人这样认为),云存储和 CDN 一体,配上一个自定义域名(一方面这也是它的缺点,因为必须自定义域名,还是已经备案了的那种),还能上免费的 SSL,甚至还可以自动续费,简直不要太方便。
再一个,我大概在 2017 左右了解到了 又拍云 ,并在 2019 ...
2024 年我的 Hexo 博客终极方案 -(二)优化
我将我的 Hexo 博客方案分为了三篇:
(一)搭建(二)优化(三)图床
Hexo 插件hexo-abbrlinkhexo-abbrlink 插件可以为每一篇文章通过通过算法生成一个唯一且永久的链接,截止到 2024 年 03 月 23 日为止,这个插件已经有两年没有更新了,但是仍然可以使用。
我个人喜欢比较简短的链接,比如 https://lvxianchao.com/5d23b6a.html 这种,至于把博文标题给转为拼音放到链接里去那种,弄得链接又臭又长的,看着很难受,虽然利于 SEO,但我宁愿不要。
安装1bun add hexo-abbrlink --save
我的配置1234567891011121314151617# _config.ymlpermalink: :abbrlink.html# hexo-abbrlinkabbrlink: alg: crc32 #support crc16(default) and crc32 rep: hex #support dec(default) and hex drafts: true #( ...
2024 年我的 Hexo 博客终极方案 -(一)搭建
我将我的 Hexo 博客方案分为了三篇:
(一)搭建(二)优化(三)图床
回顾职业生涯这些年,文章没写几个,但博客搭建干了好多遍。
每次用一个新的技术手段搭建起来一个博客,写了几篇水文以后就不了了之了,直到下次又想写博客,然后采取一种新的手段,直接将之前积攒下来的水文全干掉。
每次想写博客,都是想将当时研究了一阵的某种解决问题的方案或者重要的笔记等内容记录下来,以备后续之需。因为同一个问题,不知道什么时候就又需要了,然后想起来自己之前做过同样的事情,有现成的解决方案,但博客没了。
2024 年,我决定最后一次折腾博客,不再在各种博客技术或平台之间跳来跳去,将所写的内容积攒下来,在这世间留下一丝足迹。
这一次,我决定还是使用 Hexo 来搭建,因为我很喜欢那种什么都不用管直接写 Markdown 然后一条命令就能部署上去的感觉,不需要后台,不需要记录账号密码,不需要为了 SEO 友好,要用鼠标点这里输入关键词,点那里输入描述等操作,就只是纯粹地写就行了,非常适合我这种技术人。
类似 Hexo 这种博客解决方案还有基于 Go 语言的 Hugo,不过自从它诞生以来,我每隔一段时间就会去看 ...
Ubuntu 22.04 LTS 服务器环境初始化
开启 root 用户远程连接
我不要每次都要 sudo,太鸡儿麻烦。
执行 sudo passwd root 以后输入两次 root 用户的密码。
VIM 编辑 /etc/ssh/sshd_config,把 PermitRootLogin prohibit-password 注释掉,下面来一行 PermitRootLogin yes。
下文涉及的操作均以 root 用户进行。
更改 HOSTNAME腾讯云的服务器(当然不光只有它家)在初始化安装完以后,服务器的 hostname 都非常长,非常难看,平时终端的时候也占地方干扰视线,必须办了,我直接改名为 tencent。
1hostnamectl set-hostname tencent
安装 Docker身处在这个狗币网络之下,当然采用国内镜像站安装 Docker,我选择清华,虽然上不了它,但是我爱它。
12export DOWNLOAD_URL="https://mirrors.tuna.tsinghua.edu.cn/docker-ce"curl -fsSL https://get.docker.com/ ...
利用镜像交换机获取本地直播源 OpenWRT 双 WAN 口实现局域网任意设备观看 IPTV
最近收拾屋子,发现了好久没用过的电信 IPTV 机顶盒。
自从家里买了小米的激光投影仪以后,一直看的网络电视,就想着利用这个盒子把直播源抓下来,然后配合 OpenWRT 让局域网内任意设备随时都可以观看电视直播,甚至可以分享到公网,方便其它人。
于是我特意从京东买了一款带端口镜像功能的 TP-LINK 千兆 8 口交换机,型号是 TL-SG2008D。
获取直播源整体思路思路是这样,准备两根网线:
将交换机的 千兆口 1 连接到光猫的 ITV 接口。
将交换机的 千兆口 8 连接到我的 Mac 上。
将机顶盒随便插入到交换机上的任意网口上。
然后在交换机的控制台里设置把 千兆口 1 镜像到 千兆口 8,因为我的 Mac 连接到了 千兆口 8 上,所以我可以用 WireShark 软件进行抓包分析。
设置交换机的端口镜像在按照上述思路将设备连接好以后,机顶盒先不要开机。
进入到交换机管理控制台,我手里这款交换机的 IP 是的 10.18.18.251,先将我的 Mac 改为同一网段下的任意 IP,比如 10.18.18.252。
在交换机后里的进入到 监控 -> 端口监控 页面 ...