相对文件的节点模块路径
Posted
技术标签:
【中文标题】相对文件的节点模块路径【英文标题】:Node Module path to relative files 【发布时间】:2020-05-21 22:02:30 【问题描述】:所以我编写了一个短节点模块(module1)作为二进制文件(.exe)的包装器,可以通过命令行调用。
这就是我获取二进制文件路径以使用execFilePromised
执行 .exe 的方法。
它适用于我的模块 1。
const __dirname = fs.realpathSync('.');
const mpqEditorLocation = path.resolve(__dirname, './mpq/MPQEditor.exe');
问题:
当我将带有npm link ../<module1>
的module1 导入另一个节点项目时,路径未正确设置为.exe
,因为它位于我的node_modules
文件夹中,而不是<otherproject>/mpq/MPQEditor.exe
如何使__dirname
相对于实际文件而不是项目执行目录?
【问题讨论】:
【参考方案1】:所以我发现我的解决方案不使用
npm link
!
请改用npm install <absolute path to your package>
。
我刚刚用pwd
打印了我的位置,然后将其安装在那里。
这样我可以重构路径:
const mpqEditorLocation = path.resolve(__dirname, '..', 'mpq', 'MPQEditor.exe');
从那时起工作:)
【讨论】:
以上是关于相对文件的节点模块路径的主要内容,如果未能解决你的问题,请参考以下文章
为啥自动导入会为 PhpStorm/WebStorm 中的根节点模块生成相对路径