修复WordPress后台图片显示,使用AliyunOSS插件时

WordPress 使用 AliyunOSS 插件 如(OSS Aliyun)将图片上传到OSS服务。如果选择 不上传缩略图,使用 oss 截图功能生成缩略图的话, 后台一些地方缩略图显示会有问题,如 特色图片,和 媒体库。 使用下面的代码可以解决改问题,使用 OSS缩略图功能代替 WordPress生成的缩略图。

在 JavaScript 中处理数字和日期输入的更好方法

valueAsNumber 你的代码可能像这样: 这很好,但实际上有一种更好的方法来读取数字值。 但是这个部分: 但是从IE10时代开始,我们就有了更好的方法来获取和设置数字值: 上述问题的更好解决方案可能是这样的: 你同样可以查询一个 DOM 节点并使用它: 而且,重要的是,你也可以给它赋值 一个小问题 valuseAsNumber的类型始终是数字。这意味着如果没有为输入设置当前值,你将得到NaN。 是的,一个有趣的JavaScript 问题。因此,在将valueAsNumber写入需要实际数字的位置之前,一定要检查它是否为NaN valueAsDate 对于日期输入,我们还可以得到一个方便的valueAsDate属性: 或者纯 JavaScript 同样,也可以给它赋值: 这次没有陷阱 值得庆幸的是,对于valueAsDate,当输入为空时,我们得到的是null。 浏览器支持 即使这可能是你第一次了解这些属性,但它们已经存在多年了,甚至从IE 10的恐龙时代开始就存在了。

尽量使用 Map 代替 Object

JavaScript 的对象非常棒,它几乎可以做任何事。 但是,因为可以,不意味着必须。 例如, 如果使用对象来存储经常增删的任意键值对,`Map` 是更好的选择。 ## 对象的性能问题 而对于对象,删除操作符的性能很差,`Map` 针对这种情况进行了优化,在某些情况下甚至会更快。 如果你想知道为什么,这与JavaScript虚拟机如何通过假想JS对象的形状来优化它们有关,而 `map` 是专门为 `hashmap` 的用例构建的,其中键是动态的和不断变化的。 除了性能外,`Map` 同时也解决了对象存在的一些问题。 ## 内置 `Key` 问题 最主要的问题是对象预设了大量的内置 Key。 尽管是个空对象,你依然可以访问这些属性,每个还都有值。 仅凭这一点就可以清楚地说明不应该将对象用于任意键值的 `hashmap`,因为它可能会导致一些非常棘手的 `bug`。 ## 迭代尴尬 说到 …

在 JavaScript 中深度克隆(Deep Cloning)一个对象

现在,JavaScript 提供了一个底层的方法来深度克隆一个对象, 他就是 structureClone。 structureClone 不但可以复制对象,而且可以复制嵌套的数组,事件,时间对象。 对的, structureClone 不但可以复制上面的内容,还可以作用于: 为什么不用 对象展开? 重要的是深度复制,如果只是 浅层复制(shallow copy), 不需要复制嵌套对象或者数组,我们只需要做对象展开。 或者 但是一旦有嵌套,就会有麻烦。 复制对象的修改会改变原来的对象。 可以看到,我们没有完全复制原来的对象。 嵌套的数组依然是原来引用地址。 用 JSON.parse(JSON.stringify(x)) ? 对的,这是个很好的窍门,而且非常高效。但有一些缺点,structuredClone 解决了。 例如: 这不是我们想要, date 应该是 Date …

React useEffect

React useEffect教程从初学者到高级。useEffect最佳实践。清理、生命周期和渲染问题。

Typescript 中的函数重载

Function Overloading 可以让同一个函数接受不同个数和类型的参数。如: TypeScript 可以自动检测到这个函数有3种重载参数,你可以任选一种。

Yii2 项目中使用 Laravel-mix

.gitignore package.json webpack.mix.js let mix = require(‘laravel-mix’); // for frontend mix.ts(‘frontend/views/js/app.ts’, ‘frontend/web/dist’) .setPublicPath(‘frontend/web/dist’); tsconfig.json create ts source file build