九,善用工具

在前面的文章中,很多东西都是手撸的,比如那个binding.gyp,其实还是有工具可用,下面我将介绍两款工具,可以辅助我们开发

一,generator-napi-module

这是一个生成器,可以帮助我们快速搭建项目,具体用法如下:

// 安装Yeoman
npm install -g yo
// 安装生成器
npm install -g generator-napi-module

// 创建一个项目目录,比如叫 hello,然后进入这个目录,运行yo命令生成工程
yo napi-module
// 运行后,会进入大家熟悉的npm init环节,填一些信息
// 上述指令会生成一个hello world级别的基本工程,如果要生成一个接近正式项目的,则可以带一个指令:--intermediate

完成后,大家就可以愉快的撸码了。

 

二,Prebuild tools 预构建工具

插件的发布和开发是同样重要的事情,由于别人使用你开发的插件,极有可能在他当前电脑上没有安装编译环境,所以有一种方法就是在开发电脑上编译好插件,别人引入你的库的时候,可以一起把编译好的插件下载下来直接使用。这样还可以避免一些node版本上的差异带来的问题,因为N-API是ABI的。

官方文档列出了三个工具,这些工具可以执行一些预构建的任务,大家根据喜好选择一个就行了,我选择了  prebuildify

// 安装
npm install -g prebuildify

// 在你的工程目录下,运行预构建
// --all 是构建所有二进制版本,如 electron、node
// 如果只需要构建node插件,则选择 --napi 即可
prebuildify --all --strip

// 接下来只有一件事需要做了,就是别人如果要使用你的插件,怎么找到插件这个二进制文件的事了
// prebuildify 有一个配套使用的工具 node-gyp-build

// 安装
npm install node-gyp-build

// 然后创建一个入口文件,我们就按约定俗成的,创建一个 index.js,放在当前工程的根目录下
// 按如下方式,就可以使用我们的插件了
const binding = require('node-gyp-build')(__dirname)
module.exports = binding

// 使用 node-gyp-build 的好处就是,别人引入你的插件,在加载时,它会智能的判断,如果已经有预构建
// 的插件,它会直接引入,否则会执行 node-gyp rebuild 
// 查找的话,会在 prebuilds 目录下去寻找,按照不同的平台、架构来加载。(平台和架构,prebuildify 在预构建的时候,会自动创建相应的文件夹)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值