在 js 中使用 ts 的 module alias 功能

介绍

js 代码中引用依赖的时候默认是使用相对路径,项目复杂后相对路径可能会用到非常多的相对层级,非常不方便,在 typescript 中可以在 tsconfig.json 配置的 compilerOptions 中配置 paths,实现别名功能:

{
    "compilerOptions": {
        paths: {
            "@app/*": ["./src/*"]
        }
    }
}

在 js 中默认是没有这样的功能,但是可以通过第三方的包实现一样的绝对引用。
这里用到名为 module-alias 的包。

使用

首先在项目里安装这个依赖。

npm i --save module-alias

然后在 package.json 中进行配置

"_moduleAliases": {
  "@app"      : "./src", // Application's root
}

最后在代码头部引入依赖

require('module-alias/register')

原理

这个原理也比较简单,就是劫持 nodejs 原生的 module 模块。在模块初始化的时候,根据 package.json 中的配置将别名路径转换成相对路径存在数组中,然后通过改写内部的 _nodeModulePaths _resolveFilename 两个方法,判断如果是别名开头的,就在前面的数组中找到别名对应的路径,再将路径进行拼合,还原出真实的引用路径。

参考

next-route-visualizer 包介绍

今天 github 上看到一个 next-route-visualizer 的包,可以用来绘制 next 站点路由图表。看了下代码,核心方法有三个。

  • getRoutes 获取所有路由节点信息
  • positionTree 确定路由节点的显示位置
  • createNodesAndEdges 绘制节点和边的信息

将计算号的节点和边信息传递给 reactflow,用 reactflow 包来绘制图表。

通过这个图表可以可视化的查看站点的结构,便于分析和构建出合理的网站信息架构,可以作为开发时候一个辅助决策的功能集成到系统中。

有兴趣的朋友可以学习了解一下。

参考

古老下载工具 WinWGet 介绍

在收拾硬盘存档的时候,发现一个古老的下载工具。文件的修改时间是2008年10月21日,创建日期是2011年2月5日。已经不记得是如何来到硬盘里了。下载器只是对 wget 工具的一个套壳封装,可以在 GUI 中设置 wget 的各个参数,非常简陋。

官方网站标识最后修改时间

Last change: $Date: 2005/03/28 02:14:01 $

网站是有模有样,可能在当时的年代也是挺正式的。不过这个软件的设计,太 Geek 了,开发者就是做了个 GUI 化,没有考虑普通用户使用的便利性。花了那么多时间开发这样的软件,不知道能不能给他带来收入,可能对他的技术成长有一些帮助,对外部的影响可能说是无。我的话,肯定不会去开发这样的软件,也对开发者花了无用功感到遗憾。原本他可以花这些时间给世界带来更多积极的影响。

近段时间一直在积极简化自己的生活,清理日常不必要的依赖,每天丢弃一件东西。趁着收拾硬盘,将其记录并送走。

参考

= https://winwget.sourceforge.net/

分享一个精简版Win10镜像

这个镜像是荒野无灯大神制作的,目前有一个已知的 Bug 是没办法通过快捷键切换中文输入法。

我主要用来安装在威联通 Nas 中。在系统中安装百度网盘等下载工具,江网盘中的内容同步到 Nas 中。再后来,百度网盘换到通过 alist 挂载。家里也买了一台台式机,Nas 中的系统太消耗资源,也就不再开起来了。

这里将收藏的系统镜像分享给需要的人。

wenbin

2023-01-21

小地方恶心的事情太多了。

农业银行办理提升一下日交易限额,莫名其妙给开通了交易短信提醒,自动扣了两块钱。

这个就两块钱,就算了。以后尽量少用农行服务好了。

农行真的是太鸡贼了,别的银行网银登录都是自动发送验证码验证手机后登录。农行的倒是反过来,我要给农行的系统发送验证码,系统验证收到了才给我登录。现实现象还是能一定程度反应农行服务差的情况,至少微信公众号里,农行公众号只有4个朋友关注,其他银行有的都有几百个好友关注。可能就是服务差,用的人少吧。

还有更甚的。

联通手机号码,自动开通一些奇怪的服务,缴的费用余额莫名消失。去营业厅找服务员核对,反馈说服务会帮你取消了,余额会给你弄回来,但是为什么会出现这种情况,说他不知道,不是他控制的。这要是没去趟营业厅,好几百块钱就没了,被谁中饱私囊了。

联通办理了 1000M 宽带,实际速度达不到了400M,找工作人员来查问题,查了说现在是 500M,速度不到400M是正常的???我的1000M怎么成 500M了?

其他诸如,去小店买东西,店主看是年轻人,价格就报高些,是老年人,价格就便宜些。我去买创可贴两块钱一个,我老妈去买创可贴两块钱十六个。

不胜枚举。

小地方生活需要有点耐心和平常心,不然容易被这些小事情搞的心情不好折寿。

wenbin

2022-04-05

linux 系统缺少 ifconfig 等网络工具,可以通过安装 net-tools 包来获取。对威联通而言,可以先安装 Entware-std 包管理器,然后通过 opkg 包管理器安装 net-tools。

opkg update && opkg install net-tools