prebuildify, 为本机模块创建和打包 prebuilds

分享于 

3分钟阅读

GitHub

  繁體 雙語
Create and package prebuilds for native modules
  • 源代码名称:prebuildify
  • 源代码网址:http://www.github.com/mafintosh/prebuildify
  • prebuildify源代码文档
  • prebuildify源代码下载
  • Git URL:
    git://www.github.com/mafintosh/prebuildify.git
    Git Clone代码到本地:
    git clone http://www.github.com/mafintosh/prebuildify
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/mafintosh/prebuildify
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    prebuildify

    为本机模块创建和打包 prebuilds

    
    npm install -g prebuildify
    
    
    
    

    用法

    首先转到本地 MODULE,制作一堆 prebuilds

    # got to your native modulecd your-native-module# build for all electron/node binary versions and strip out symbolsprebuildify --all --strip# the prebuilds will be stored in./prebuildsls prebuilds

    如果 MODULE 使用新的node 核心n,那么你可以使用 --napi 标志来预编译

    # prebuild for n-apiprebuildify --napi

    然后只有现在你需要做的是使你的MODULE 使用一个预生成器,如果你使用的平台/运行库。

    使用 node-gyp-build 执行这里操作。

    # first install node-gyp-buildnpm install --save node-gyp-build

    然后将 node-gyp-build 作为安装脚本添加到模块的package.json 中

    {
     "name":"your-native-module",
     "scripts": {
     "install":"node-gyp-build" }
    }

    安装脚本将检查是否捆绑了兼容预生成。 如果是这样,则不执行任何操作。 如果不是这样,它将运行 node-gyp rebuild 来生成。 也就是说,如果用户使用你的MODULE 禁用安装脚本,你的MODULE 将仍然可以工作,只要兼容的预生成程序被捆绑在一起。

    index.js 加载本机绑定时,应该使用 node-gyp-build 来确保获得正确的绑定

    // Will load a compiled build if present or a prebuild.// If no build if found it will throw an exceptionvar binding =require('node-gyp-build')(__dirname)module.exports= binding

    这种方法的一个好处是你的本地模块可以跨多个 node 和电子版本工作,无需用户重新安装,只要你为所有版本都生成了 prebuilds。

    将 MODULE 发布到npm时,请记住包含 ./prebuilds 文件夹。

    就是这样快乐的原生黑客。

    许可证

    MIT


    PAC  PACK  模块  PRE  NAT  Native  
    相关文章