一个快速使用 Golang 开发和构建生成 NodeJS Addon 扩展的开发工具

GonaCli 是一个用 Golang 开发 NodeJS Addon 的工具,简化了桥接层的实现。支持 Linux, Mac OS, Windows 平台,NodeJS(12.0+),Npm(6.0+),Node-gyp(9.0+) 和 Go(1.14+)。提供 generate, build, install, msvc, make 等命令,方便开发和编译。同时提供了详细的配置文件说明和类型对照表。" 80792523,3049409,Android数据共享:ContentProvider与ContentObserver详解,"['Android开发', '内容提供者', '数据管理']
摘要由CSDN通过智能技术生成

GonaCli

一套快速使用 Golang 开发和构建生成 NodeJS Addon 扩展的开发工具


GONACLI 是一个快速使用 Golang 开发 NodeJS Addon 扩展的开发工具,开发者只需要专注在 Golang 的开发,无需关心与 NodeJS 的 Bridge 桥接层的实现,支持 JavaScript 同步调用和异步回调等。


⭐️ 如果能帮助到你,记得随手给点一个star。

兼容支持

  • Linux / Mac OS / Windows
  • NodeJS(12.0+)
  • Npm(6.0+)
  • Node-gyp(9.0+)
  • Go(1.14+)

使用 go 方式安装 gonacli 工具

安装前需要确保系统配置好了 GOPATH 及最终编译保存到 bin 目录的环境变量

Linux or Mac OS

# .bash_profile
export GOPATH="/Users/awen/go"

# 配置 bin 目录,使用 golang 方式安装是必须的
export PATH="$PATH:$GOPATH:$GOPATH/bin"

Windows

# 打开系统环境变量设置
GOPATH: C:\awen\go
# 配置 bin 目录,使用 golang 方式安装是必须的
PATH: %GOPATH%\bin

开始安装

# linux or Mac OS
$ GOPROXY=https://goproxy.cn/,direct && go install github.com/wenlng/gonacli@latest

# widow
$ set GOPROXY=https://goproxy.cn/,direct && go install github.com/wenlng/gonacli@latest

$ gonacli version

Windows 环境编译

在 Windows 开发环境下需要安装 Go CGO 需要的 gcc/g++ 编译器,可以下载 "MinGW" 安装,配置好 MinGW/bin 的 PATH 环境变量即可,在命令行能够正常执行 gcc 。

$ gcc -v

Window 环境下还需要安装 NodeJS Addon 编译工具 node-gyp 依赖的 c/c++ 编译工具

$ npm install --global --production windows-build-tools

gonacli 中的命令参数

1、generate

根据 goaddon 的配置生成对应 NodeJS Addon 相关的 Napi、C/C++ 桥接代码

# 默认将读取当前目录下的 goaddon.json 配置文件
$ gonacli generate

# --config 参数指定配置文件
$ gonacli generate --config demoaddon.json

2、build

相当于 go build -buildmode=c-archive 命令,编译静态库

# 将 Go CGO 编译生成静态库
$ gonacli build

# --config 参数指定配置文件
# --args 参数指定 go build 的参数,需要用 '' 引号包裹
$ gonacli build --args '-ldflags "-s -w"'

3、install

相当于 npm install 命令, 安装 NodeJS 需要的相关依赖

# --config 参数指定配置文件
$ gonacli install --config demoaddon.json

4、msvc

该命令只针对 window 环境下的兼容处理,需要 dlltool.exe 或 lib.exe (二选一)

1、"MinGW" 支持 "dlltool.exe" 工具

2、"Microsoft Visual c++ Build tools" 或 "Visual Studio" 的 "lib.exe" 工具

# --vs 参数表示使用 VS 的 "lib.exe" 工具,默认是 MinGW 的 "dlltool.exe" 工具
# --32x 参数表示支持 32 位的系统,默认 64 位
# --config 参数指定配置文件
$ gonacli msvc --config demoaddon.json

5、make

相当于 node-gyp configure && node-gyp build 命令,编译成最终的 NodeJS Addon 扩展

使用 make 命令请请确保系统已安装了 node-gyp 编译工具

# 编译
$ gonacli make
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cs-awen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值