nodejs 中导入的包名中带有 # 是什么意思?

43 阅读1分钟

nodejs 中可以使用 # 号自定义本地 js 模块的路径,就像我们常在 vue 中使用 @/ 作为路径别名一样。

使用方法

  1. 首先,在 pacakge.json 中定义:
// package.json
{
    "imports": {
        "#internal/*.js": "./src/internal/*.js",
        "#async_hooks": {
            "node": "async_hooks",
            "default": "./async-hooks-stub.js"
        }
    }
}
  1. 然后,你就可以直接通过下面这种方式导入对应文件了:
import internalZ from '#internal/z.js'
// 加载  ./src/internal/z.js 模块

import {AsyncResource} from '#async_hooks'
// 加载 ./async-hooks-stub.js 模块

参考