4

使用 npm 链接时,如何让 __dirname 指向文件夹的保留路径,而不是符号链接文件的真实路径。

设想

文件夹设置

project
  |
  ---- moduleA
  |       |
  |       ---- moduleA.js
  |
  ---- app
       |
       --- node_modules

cd project/moduleA
npm link
cd project/app
npm link moduleA

内部 moduleA.js

__dirname -> /project/moduleA

但是,预期的行为是

__dirname -> /project/app/node_modules/moduleA

因为 npm link 创建了一个符号链接,它将链接的模块插入到 node_modules 文件夹中,因此模拟了直接安装模块的体验。

如何让 __dirname 指向保留的路径,而不是模块所在的真实路径?

注意: --preserve-symlinks 命令行选项不会影响 __dirname 的值

4

0 回答 0