我有一个使用 edge.js 包执行某个 dll 的 node.js 项目。
有没有办法在我的 node.js 项目中安装 NuGet 包并像使用 dll 一样运行它?
有没有办法在我的 node.js 项目中安装 NuGet 包并像使用 dll 一样运行它?
不,没有。NuGet 是一个 .NET 包管理器,npm 是一个 node.js 包管理器。他们在各自的领域工作。
您实际上正在寻找的是脚本解决方案。编写一个 shellscript,负责安装 NuGet 和 npm 的相应包。假设您的环境变量和路径是正确的,您将能够正确地从 edge.js 调用所需的包。
首先是通用部分:
通常,这类事情是用postinstall
钩子管理的(很高兴在包本身中有这个钩子,这样你就可以安装任何二进制依赖项)。但是,如果它没有在包中定义——你总是可以自己添加它(在你的项目级别上)——例如,放置一些 cmd/sh/js 脚本,并在安装依赖项后做任何你想做的事情
更具体的部分:
你用什么系统?我在问原因,据我在这里看到的包已经有一些内置的二进制安装。这win32
(根据文档)应该是任何基于 Windows 的系统的价值。我会投入 5-10 分钟来调试该脚本(至少使用 console.logs)来检查它为什么不起作用
对我来说很可疑的那一刻-(首先以本文为例)是在包钩不在里面postinstall
。但这里再次 -install
是一个有效的钩子(有 3 个在线- 预安装、安装、后安装)。所以在这里你可以尝试cd node_modules/edge-js && npm run install
确定它是否运行