如何创建适配多操作系统的Node.js包?处理Windows专属依赖
TypeScript项目Windows专属依赖的多环节处理方案(Yarn管理)
源码层面
分支逻辑
通过os.platform()判断当前运行平台,以此筛选要调用的函数:
import os from 'os'; console.log(`Platform: ${os.platform()}`);
导入处理
此前未在TypeScript中见过这类导入模式,但可以借助os.platform()的判断结果,仅在Windows环境下导入专属依赖。
构建层面
目前尚未找到针对性的处理方案,Optional dependencies(可选依赖)看似是唯一可选路径,但无法实现“单独构建Windows版本包”的需求。
发布层面
可通过环境变量设置Node的平台与架构参数,再通过常规yarn命令传递,但这些参数仅适用于添加依赖环节。希望最终能打包并发布<packageName>-win.tar.gz(Windows专属包)和<packageName>.tar.gz(通用包)两个文件,供不同平台的用户使用。
内容的提问来源于stack exchange,提问作者Muttonchop
相关产品推荐
相关产品推荐

