npm 的os 以及cpu 是一个很不错的功能可以实现灵活的包在特定操作系统的运行,尤其我们开发基于node addon 的扩展的时候
napi.rs 做的就比较好,提供了比较完整的工程化实践
os 参考使用
- 配置
指定运行的操作系统,比如以下的是运行在mac 以及linux 上,同时也支持一个取反操作
{
"os": [
"darwin",
"linux"
]
}
"os": [
cpu 参考使用
指定运行的cpu,与os 类似也提供了取反操作
- 配置
{
"cpu": [
"x64",
"ia32"
]
}
"cpu": [
说明
os 以及cpu 是一个很方便的功能,可以实现灵活的运行版本控制,目前cube.js 是在安装的是否自己下载特定平台的node addon,这种方法
对于实际运行并不是特别的好,反而是提供独立的包会比较方便
参考资料
https://docs.npmjs.com/cli/v10/configuring-npm/package-json#os
https://napi.rs/docs/cli/build
https://napi.rs/docs/introduction/getting-started
https://github.com/cube-js/cube/releases/tag/v0.34.6
https://github.com/cube-js/post-installer