使用 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 的值