Cloudflare Axios 请求问题
事情经过之前 Nuxt 项目中使用了 axios 在 Server 端发送请求,包括获取数据和图片两种 但部署到 Cloudflare 后,发现会报错 1the 'credentials' field on 'requestinitializerdict' is not implemented. 应该是 Cloudflare Workers 不支持 credentials 这个字段,但 axios 默认会有 尝试解决Axios Adapter使用 @haverstack/axios-fetch-adapter 可以解决请求问题,这个库会换成 fetch 请求 但换成这个库后,图片会拿不到,所以暂时放弃了 解决方法抛弃 axios,简单封装了个 fetch 请求 commit 0e35ae 后面发现,其实图片是可以拿到的,只是最后要套一个 Buffer.from(responseArrayBuffer) 所以理论上 @haverstack/axios-fetch-adapter 应该也可以,拿到结果后转一下,虽然没试 但反正只是简 ...
Github Actions 部署 NuxtHub 项目使用环境变量
事情经过最近在研究 NuxtHub 惹出来的事,部署过 introxd.com 之后爽到了,所以就想把我的简介 imba97.me 也部署到上面 但我的页面会用到加密环境变量,我在 NuxtHub 添加了环境变量,实际 NuxtHub 是调用 Cloudflare 接口,环境变量会互相同步 在本地直接跑部署命令是可以的,但用 Github Actions 部署后,环境变量就没了,打印 process.env 是个空对象 {} 尝试解决命名规则使用 NUXT_ 开头的命名规则,但无效 官方方法使用 Cloudflare 文档 中写的方法,可以拿到 但这种写法只能在 defineEventHandler 中使用 123export default defineEventHandler(({ context }) => { const MY_KV = context.cloudflare.env.MY_KV}); 但我是写了个配置,类似 123const commonConfig = { MY_KV: pr ...
NuxtHub (Cloudflare) 部署 Nuxt 项目卡住的问题
事情经过很早之前看到过 NuxtHub,但注册了半截,到绑定 Cloudflare 那就暂时弃坑了 最近 Nuxt 用的非常上头,同时也在用 Cloudflare,昨天逛 Github 发现个项目,看到官网下面写着 Deployed on NuxtHub 一时间来了兴趣,想看看 NuxtHub 是个啥 NuxtHubNuxtHub 是一个对接 Cloudflare Workers、Pages 的后台,同时提供 Nuxt 模块,比如数据库、KV、AI 等 可以非常方便的部署包含前后端的 Nuxt 项目 问题把最近在做的 Nuxt 项目部署上去的时候发现,本地打包后用命令部署是没问题的 但用 Cloudflare 部署就会卡在下面日志的地方 123456...15:53:04.900 [info] vite v5.4.6 building for production...15:53:04.930 [info] transforming...15:53:06.277 Deprecation [legacy-js-api]: The legacy JS API is deprecated ...
阿里图标库工具 iconfontx
iconfontxiconfontx 是一个免安装脚本,能将 iconfont 的样式和字体打包压缩成一个 CSS 文件在本地使用 场景使用 iconfont 图标时,可以直接引入 iconfont 提供的 CSS 文件,但如果线上 CDN 出了问题或用户网络波动,会导致图标加载不出来的问题 所以按我之前公司的做法是,把样式和字体放在本地,并且会手动把字体文件转为 base64,并且每次添加图标后需要重复操作更新本地样式 使用help1npx iconfontx -h 展示帮助信息 12345678910111213Usage: $ iconfontx <url>Commands: <url> iconfont css urlFor more info, run any command with the `--help` flag: $ iconfontx --helpOptions: -o, --output <filename> Output file path (default: D:\Projects\example\iconf ...
久违的暑假
暑假大概有七年没放过暑假了,毕竟打工人没有暑假 辞职后的打算是先放个暑假,转眼也过了一个半月了,盘点一下我的暑假做了什么 Vue Conf看了一场 Vue Conf,就是 Vue 核心团队的大佬们分享一些技术 见到了业内大佬 Anthony Fu(托尼老师)! 还有著名 Rapper(狗头) Evan You(尤大)! 骑行从南京 骑回了家,大概 560 多公里 原因是之前买了个自行车想骑着上下班,但最后也没怎么骑几次,卖了有点可惜,索性就骑回去了 慢悠悠骑的,一共用了 11 天,骑了 9 天,休息了 2 天,感觉把这辈子的自行车都骑完了 找工作骑行中途在宾馆休息的时候,构思了一个个人简介网站 me.imba97.cn 时不时的刷刷各种社区、招聘软件。八月初找到个兼职,目前差不多半天做自己的东西半天兼职 布置了一下办公环境,买了人体工学椅和升降桌,可以罚站了 开源做兼职的时候发现一些需求,写了几个小工具 重构了之前的工具,现在叫 iconfontx,可以拉取 iconfont 样式、转换字体、压缩代码的工具 还有 lodash-imports,配 lodash 自动引入的 ...
Nuxt Docker 自动化
Nuxt Nuxt 是一个集成了前后端的框架,对于一些小型网站,不需要前后端分离的,是个好的选择 比如最近就做了一个 me.imba97.cn,准备放一些关于我的一些东西 Docker因为涉及到后端,需要 Node 环境,借助 GPT 简单写了个 Dockerfile 1234567891011121314151617181920212223FROM node:18# 创建并设置工作目录WORKDIR /usr/src/app# 复制所有源代码到工作目录COPY . .# 安装 pnpmRUN npm install -g pnpm# 安装项目依赖RUN pnpm install# 构建 NuxtRUN pnpm run build# 暴露端口(默认端口为 3000,可以通过环境变量 NUXT_PORT 配置)ENV NUXT_PORT=3000EXPOSE ${NUXT_PORT}# 启动 Nuxt.js 应用程序CMD [ "pnpm", "start-docker" ] start-docker 是以下命令 1n ...
辞职报告
为什么辞职在这个经常能听到大环境不行的时间点,辞职了 去年的年度总结中立了个目标希望今年实现 —— 成为数字游民 试着朝这个方向走走,万一实现了自己想要的生活了呢 数字游民定义来看就是相对坐班跟公司的合同制,变成用自己的技术、用网络办公、不受地域限制的自由职业者 还有一种就是远程办公,或在家定点上下班,或结果导向的时间内完成任务 有的人会把这两种严格隔离开,但其实我感觉没必要区分的那么严格,都是数字游民 做的准备没做什么太多准备,也很难有准备好的时候 社保先自己缴灵活就业,后面看是找全职远程工作还是自己干 钱方面攒了五万左右,起步资金三万,剩下两万备用金,给自己一年时间,如果没法稳定收支再去找工作 未来打算对于我来说,前期优先考虑找远程办公的公司,作为一个过渡还是不错的 但是!先给自放个暑假!两个月里到处玩玩。时不时写写简历,时不时看看工作 也好好权衡一下,到底是全职远程还是自己干,自己干的话要做什么 全职远程工作全职远程的话主要优势就是以下几点,其他基本跟上班一样,没啥好说的 在家也可以有个良好的作息 节省通勤时间和支出 有机会拿一线城市的收入在老家花实现地理套利 下面主要说 ...
写了个页面分享此时此刻我在听的歌
演示因为是个网页,所以可以通过 iframe 分享到各处 页面是 https://test.imba97.cn/playing 原理最近发了篇博客文章:《自建音乐服务 Navidrome》,里面提到可以使用 last.fm 来保存听歌历史 通过这个网站的接口可以拿到播放列表,根据听歌的先后顺序,也有当前是否正在播放的字段 后端让 Chat GPT 用 PHP 写了个程序,功能就是简单的请求接口、10 秒数据缓存 因为 last.fm 接口给的图片国内没法访问,所以图片优先获取 itunes 上的,如果都没图,保底还会有个 icon 前端用 简单写了个前端,10 秒轮询调接口获取最新数据 可以展示加载中、当前未听歌、当前正在听歌状态 用了 UnoCSS,永远的神!论 UnoCSS 实现一个旋转效果能有多简单 1<div i-ph-music-note-simple-duotone h-20 w-20 animate-spin animate-duration-30000></div> 开源 Github: imba97 ...
吃灰树莓派再就业
简报今天一看这个树莓派是 2019 年买的,折腾过内网穿透、远程开机、PHP 环境、Cloudreve 网盘,甚至还有一个 魔兽争霸3 服务器 PvPGN 以上本博客大部分都有过记录,有兴趣可以自行搜索一下 后面玩了 N1 盒子、All in One 小主机之后,树莓派就吃灰了 不间断电源前几天无意间发现了树莓派 不间断电源 虽然当时还没想到怎么玩,但我感觉一定能做点有意思的东西 于是把树莓派去壳,接上电源,让我极度舒适的是它可以用引脚供电,没有一根线 因为之前的散热风扇在壳上,去壳后没法固定,所以又入手了个风扇,还带灯 还挺好看的,风扇和灯有单独开关控制,所以也不用担心没接电的时候更费电 便携屏这个应该是稚晖君开源的那个,以前直接买的现成的,是个屏同时也是个充电宝 可以在出问题,SSH 连不上的时候做一些简单的调试 瞎玩装起来之后先搞了个 1Panel 试试水,很早就开始关注了,安装过一次,那时候还不太好用就弃了 期间经常看他们项目在维护,感觉差不多了,所以再试试,还不错 目前安装了一些服务,什么青龙面板、Web 服务之类的简单玩一玩 到目前还没体现出电源的优势,最多只是不 ...
自建音乐服务 Navidrome
NavidromeNavidrome 是一个支持自建的 音乐服务 除了自带的页面,还兼容很多支持连接自建服务的音乐软件 软件截图我目前用的是这两个,点击查看大图 Windows Sonixd Github Android Tempo Github 音乐刮削器用的是 Music Tag Web,也是可通过 Docker 部署的应用,可以自动或手动搜索、写入音乐信息 可以点击标题右侧的 右箭头搜索音乐信息,在右侧列表找到合适的后点击 左箭头同步信息保存 这样就有音乐的相关信息,封面、歌手、专辑、年份等信息基本都有了 搭建NavidromeNavidrome 可以通过 Docker 部署,可以连接 last.fm 和 ListenBrainz 记录播放历史、生成音乐报告等 12345678910111213 ...