我正在编写一个TypeScript库,该库基本上是python tensorflow-probability软件包的克隆。我打算在服务器端和浏览器的其他项目中使用此库。当下游项目导入tfjs-probability代码时,我希望tfjs后端能够利用用户运行时可用的任何资源。
是否存在编写库代码的规范方法,以便在前端使用软件包时从“ @ tensorflow / tfjs”导入tensor
,但从“ @ tensorflow / tfjs-导入”节点”,在节点环境中使用时?
我应该在构建工具(webpack)中进行配置吗?
例如。在我的tfjs-probability软件包中,我有:
import { tensor } from '@tensorflow/tfjs'; // alternately '@tensorflow/tfjs-node'
export class NormalDist { //code that uses tensors }
并且我正在想在下游项目中做这样的事情:
import { NormalDist } from 'tfjs-probability';
const n = new NormalDist()
并且我的库以某种方式会足够聪明以知道是使用tensorflowjs webgl(在浏览器中)还是使用tensorflowjs-node。