魔改 Laya 编译脚本实现兼容常规 NPM 包

修改 tsconfig { "compilerOptions": { "module": "es6", "target": "es6", "noEmitHelpers": true, "sourceMap": true, "moduleResolution": "node", "allowSyntheticDefaul ...

利用 Web Observer API 监听元素属性变化

MutationObserver 接口提供了监视对 DOM 树所做更改的能力。它被设计为旧的 Mutation Events 功能的替代品,该功能是 DOM3 Events 规范的一部分。 // 选择需要观察变动的节点 cons ...

AssemblyScript 起步!

WebAssembly 是浏览器的低级语言,为开发人员提供了除 JavaScript 之外的 Web 编译目标。它使网站代码可以在安全的沙盒环境中以接近本机的速度运行。 AssemblyScript 是一个把 TypeScript 转换到 WebAssembly 的编译器。由微软开发的 TypeScript 将类型添加到了 JavaScript `中。它已经变 ...

生产环境全局移除console.log

(//)( )console.log\(.*\);+ 利用 VSCode 或 WebStorm 这类编辑器的正则替换功能可以很轻松的替换。 利用 babel 插件 在 nuxt 中配置如下: export default { build: { babel: { babelrc: false, cacheDire ...

nuxt 构建相关笔记

修改 nuxt.config.js /* ** Build configuration */ build: { /* 如果node_modules中使用了ES6导致浏览器报错,使用transpile告知babel需要编译 */ transpile: [/has-values|ramda/], babel: { babelrc: fa ...

NodeJS 处理二进制

// 将base64编码的二进制报文解析成buffer const b = new Buffer.from("KA==", "base64"); // 将buffer解析成hex字符串 const s = b.toString("hex"); // 将hex字符串解析成10进制整数 console.log(parseInt(s, 16)); ` ...

React Native 开发笔记(长期更新)

单独启动 android studio 模拟器(Linux) ./emulator -netdelay none -netspeed full -avd Nexus5XAPI_25 文字过长隐藏的问题 CSS3 中大家可能都会用到 text-oveflow,然而 RN 的 Text 并没有这个属性,不过我们可以通过设置 numberOfLIne 或 ...

JS 路径遍历算法

/** 输入 ["A", "B"], ["C", "D"], ["E", "F"], 输出 ["A", "C", "E"], ["A", "C", "F"], ["A", "D", "E"], ["A", "D", "F"], ["B", "C", "E"], ["B", "C", "F"], ["B", "D" ...

记录 Table 跨行转换算法

[ [{ value: "一级" }, { value: "二级1" }, { value: "三级1" }], [{ value: "一级" }, { value: "二级1" }, { value: "三级2" }], [{ value: "一级" }, { value: "二级2" }, { value: "三级3" }], ]; H ...

用 d3.js 做一个地图迁徙图

本次使用的是 Vue + d3v5。 import * as d3 from "d3"; import geoJson from "~/assets/map.json"; export default { name: "d3map", mounted() { const w ...