happyWang

技术人的博客, 说技术人的事

如何在 TypeScript + ESM + Mocha + tsconfig-paths 下运行 Mocha 测试用例

我有一个基于 TypeScript 的项目,使用 Mocha 来运行测试用例,一直都正常工资,直到我将项目改成了 ESM 模块,然后就报错了。 在一番搜索之后,我发现了解决方案,记录一下。 TLDR:使用 tsx 来替代 ts-node 作为 TypeScript 的运行时,就可以解决所有问题,..


如何为高阶函数定义TypeScript类型

高阶函数(HOF)的类型定义一直是 TypeScript 里面相对难度比较高的地方, 而且容易忘记, 所以我打算在这里做一个备忘, 记录一下自己找到或者实现的一些定义 接受的函数和返回的函数的参数一致 const beforeFn = <F extends (...args: any[])..


command-codesign-failed-with-a-nonzero-exit-code

今天做公司游戏打包上线 iOS 平台的活。在做各种项目配置,突然的项目就编译失败,提示错误:Command CodeSign failed with a nonzero exit code。 尝试过进行 git 回滚操作但是错误一直存在。 所幸公司的游戏是用的 CocosCreator 开发的,..


Xcode 无法生成 Link Map 的可能原因

最近帮项目组打包 iOS 项目并采用 Ohayoo 的 SDK,在提审之前,需要把 dYSM, LinkMap, ipa包体,这三个文件提交过去进行合规扫描。 虽然很久没接触 iOS 打包了,但 ipa 还是知道怎么输出的。dYSM,在 Google 一圈之后,也顺利生成了。 只是这 Link ..


如何使得Svelte项目输出ES5代码

为什么需要ES5的代码最近在开发公司的一个项目时,为了最小化代码文件,就上手尝试了一下svelte,这个目前号称编译后代码包最小的框架,通过把大部分的计算放在编译时进行,而不是在运行时进行,从而极大程度上减少了运行时库文件的大小 目前来说,效果很棒,完成一些简单的功能开发之后,整个product..


一个发票挂账月份修改功能引发的小重构

今天在做一个发票列表的页面,整个项目是基于TypeScript, React, AntDesign来开发。 有个功能是这样的:对于其中的每一个发票,在此发票拥有指定状态,同时访问此页面的用户拥有指定权限的时候。改用户可以变更发票的挂账月份。 这个功能在开发的时候,我就注意到了,在我之前做发票的详..


Mac的终端下如何快速前进后退一个单词

***TLDR: *** Alt/Option + B 是后退一个单词Backward。 Alt/Option + F 是前进一个单词Forward 在终端下,一直会用的几招是 Ctrl + A 回到命令的最开始 Ctrl + E 回到命令的末尾 Ctrl + U 是清空..


人可以为所欲为,但却不能得偿所愿

最近在看爱因斯坦的«我的世界观»这本书,里面有一段特别困惑: 我认为,在哲学意义上,人类根本没有任何自由可言。每个人的行为不仅受制于外在压力,还受限于内在需求。叔本华说过:「人虽然可以为所欲为,但却不能得偿所愿。」从青年时代起,这句话就让我深受启发。每当自己或他人经历种种磨难时,这句话总能给我..


2019博客迁移

为什么要迁移我的这个博客从17底年迁移到vultr上(参看博客搬迁2017)到现在已经运行了一年多,一直也算是正常运行。不过要说问题,那也是很有一些的。 首先是基于docker配置的Wordpress和mysql,经常会莫名的挂掉。有些时候能自动重启,而有些时候只能自己手动上服务器上重启两个co..


React里面是如何区分Class和Function的

针对文章https://overreacted.io/how-does-react-tell-a-class-from-a-function/的摘录 为什么要区分从两种形式的Component中获取node节点的方式不一样,Function的直接调用,Class的需要实例化,再调用实例的rend..