我正在通过NPM发布二进制文件,并且想知道如何从JavaScript引用它。
具体地说,我有一个要运行的二进制文件(例如,用require("child_process").execSync("binary --version")
运行)。
NPM似乎在package.json中支持一个名为“ bin”的字段,它将在node_modules/.bin
中放置一个二进制文件,这将使我运行类似require("child_process").execSync("npx binary --version")
的内容。
但是,我希望能够一次支持我的程序包的多个版本,以防程序包的依赖关系具有重叠的依赖关系,但具有不同的版本。而且我假设,如果我只调用npx,它将只能找到对当前路径有效的包,而该路径不会是原始js文件的路径,因此不会使用正确的版本。
有没有一种方法可以发布包含二进制文件的软件包,从而使我能够从JavaScript执行正确版本的二进制文件?