具有nw-gyp的Node-webkit多平台本机模块

时间:2014-11-28 16:30:42

标签: node.js node-webkit node-modules node-gyp

我目前正在编写一个使用本机模块(lwip)的node-webkit应用程序。我发现我需要使用nw-gyp编译本机模块。 使用nw-gyp后,将在lwip_image.node下创建新文件node_modules/lwip/build/Release

  1. 如何需要本机模块?像这样:var lwip_image = require('./node_modules/lwip/build/Release/lwip_image.node') ??

  2. 如果本机模块是在Win8 x64上创建的,它还可以在Win7 x64甚至Win8 / 7 x32上运行吗? Mac与Ubuntu x32对比Ubuntu x64的问题相同?

  3. 为了方便构建过程,我将在目标平台上构建一次本机模块。之后我想将它们全部复制到我的项目目录中,这样我就可以自动化构建过程,立即为所有平台构建它。我该怎么办呢?使用os.platform()并要求取决于平台? ...

  4. 更新:这些帖子是我要找的:https://github.com/joyent/node/issues/4398#issuecomment-11233144 https://github.com/npm/npm/issues/1891

1 个答案:

答案 0 :(得分:2)

  1. 您的模块的简称将用于"要求"
  2. 您的32位代码(使用target = ia32编译)将在64位平台上运行,但不是相反的方式
  3. 在为所有平台编译模块之后,应该足以为不同的平台打包不同的zip,.app或.exe版本,以及模块的不同相应二进制文件。