【问题标题】: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 相对于实际文件而不是项目执行目录?

【问题讨论】:

    标签: node.js path fs dirname npm-link


    【解决方案1】:

    所以我发现我的解决方案不使用 npm link!

    请改用npm install <absolute path to your package>。

    我刚刚用pwd打印了我的位置,然后将其安装在那里。

    这样我可以重构路径:

    const mpqEditorLocation = path.resolve(__dirname, '..', 'mpq', 'MPQEditor.exe');
    

    从那时起工作:)

    【讨论】:

      猜你喜欢
      • 2018-12-28
      • 1970-01-01
      • 2018-05-14
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 2020-08-08
      • 2016-12-06
      • 1970-01-01
      相关资源
      最近更新 更多