我有一个多平台Node.js应用程序,在一个平台(windows)上我需要一个Native Node.js模块。其他平台不需要它,也无法编译。
如何确保模块仅获取Windows上安装的本机元素?目前我将它作为可选依赖项,但在其他平台上,执行npm install
的人会看到错误。
理想情况下,在所有其他平台上,模块将安装时没有错误,但只是没有本机位。显然我只能ifdef
所有的C文件,但是对于没有XCode的Mac用户来说仍然无法安装。
如果有帮助,这是我的模块 - 我尝试在OS==win
中使用binding.gyp
仅限Windows,但仍然存在问题:https://github.com/espruino/winnus
谢谢!