作者归档:wenbin
我的设备
这里主要指有计算能力的设备。
计算器 X
购入价格:45 元
步步高 X
购入时间:2005 年
购入价格:500 元
组装台式机
购入时间:2006 年
购入价格:3000 元
诺基亚 5000
购入时间:2008 年
购入价格:1000 元
惠普 4411s 笔记本电脑
购入时间:2009 年
购入价格:5000 元
摩托罗拉 ME525 (Defy)
购入时间:2011-06-09
购入价格:1890 元
MacBook Air 13"
购入时间:2013-04-23
购入价格:7080 元
iPhone 6
购入时间:2014 年
购入价格:5600 元
iPad Air
购入价格:3500 元
MacBook Pro 13" (13-inch, Mid 2012)
购入价格:5000 元
小米手环 1
iPhone 7
购入时间:2016-11-09
购入价格:6988 元
Caieion 12-Digit Dual Power Callculatr
MacBook Pro 13" (Retina, 13-inch, Early 2015)
小米手环 2
小米 MIX 2S
购入时间:2019-03-29
购入价格:2499 元
威联通 TS-453B mini
购入时间:2019-10-23
购入价格:2300 元
小米手环 5
小米 K30 Pro
购入时间:2020-05-01
购入价格:3399 元
小米 K30s 至尊纪念版
购入时间:2021-05-05
购入价格:2160 元
组装台式机
购入时间:2020-11-11
购入价格:4095.69 元
小米 K50
购入时间:2022-04-06
购入价格:2596.12 元
2019-11-23 19:41:59
2023-06-05 16:00:52
在 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
包来绘制图表。
通过这个图表可以可视化的查看站点的结构,便于分析和构建出合理的网站信息架构,可以作为开发时候一个辅助决策的功能集成到系统中。
有兴趣的朋友可以学习了解一下。