判断Mac Arm | 标识项目Nodejs版本 | 判断设备平台 | 同域名下通信可以通过广播

455 阅读1分钟

我正在参加「掘金·启航计划」

前端如何快速判断当前环境是否为Mac ARM架构机型

atApplyArm() {
  const w = document.createElement("canvas").getContext("webgl")!;
  const d = w.getExtension("WEBGL_debug_renderer_info");
  const g = (d && w.getParameter(d.UNMASKED_RENDERER_WEBGL)) || "";
  return Boolean(g.match(/Apple/) && !g.match(/Apple GPU/));
}

标识项目的Nodejs版本有两个手段

  • 项目根目录增加一个 .nvmrc 文件,写入:v16 或者 v18 或者你自己本地的版本
    • 这样在和其他人协作的时候,就可以通过在终端执行 nvm use 自动读取 .nvmrc 配置文件中的版本
  • package.json 中增加 engines 属性,可以限制区间或者制定版本以上或以下:
"engines": {
    "node": ">=12 < 20"
}

判断设备平台有个新方法

兼容性:FireFox 不支持,Chromium 系需要 90 以上

navigator.userAgentData.platform

同域名下页面间通信方式也可以通过广播的形式

Broadcast Channel API - Web API 接口参考 | MDN (mozilla.org)

当然你也可以直接用 Vueuse 中的useBroadcastChannel | VueUse 省时、好用

总结

这个我新开的一个专栏:前端瑞士军刀 - Senar的专栏 - 掘金 (juejin.cn),收集记录一系列解决方案,简单、快速且优雅的解决一个棘手问题。

今天就先到这里,我是Senar,有用请点赞,喜欢请关注,我们下期再见~