nodejs 中可以使用 # 号自定义本地 js 模块的路径,就像我们常在 vue 中使用 @/
作为路径别名一样。
使用方法
- 首先,在 pacakge.json 中定义:
// package.json
{"imports": {"#internal/*.js": "./src/internal/*.js","#async_hooks": {"node": "async_hooks","default": "./async-hooks-stub.js"}}
}
- 然后,你就可以直接通过下面这种方式导入对应文件了:
import internalZ from '#internal/z.js'
// 加载 ./src/internal/z.js 模块import {AsyncResource} from '#async_hooks'
// 加载 ./async-hooks-stub.js 模块
参考
- Modules: Packages | Node.js v21.7.1 Documentation
- sindresorhus/p-limit: Run multiple promise-returning & async functions with limited concurrency