WebXR 打字稿支持

时间:2021-01-11 08:03:27

标签: typescript webxr

我想尝试使用 webxr 并设置了一个打字稿项目。根据{{​​3}}

我应该做到以下几点:

const supported = await navigator.xr.isSessionSupported('immersive-vr');

使用我的打字稿设置 navigator.xr 显示为错误。 WebXR enter image description here

我想知道如何为 webxr 设置打字稿。我的 tsconfig 看起来像这样:

{
    "compilerOptions": {
        "outDir": "./dist/",
        "noImplicitAny": true,
        "module": "esNext",
        "target": "es6",
        "allowJs": true,
        "moduleResolution": "node"
    },
    "exclude": [
        "./node_modules"
    ],
}

2 个答案:

答案 0 :(得分:2)

对于 WebXR,您需要 add definitionssuch as these ones. 类似运行:npm install --save-dev @types/webxr 然后导入类型:

import type { Navigator } from 'webxr';

相关:

答案 1 :(得分:1)

在命令行中使用 webxrnpm i -D @types/webxr 安装类型。

然后使用 import type { XRSystem } from 'webxr'; 在您的 ts 文件中导入 XRSystem(注意导入中的 type 字)。

然后调用 xr :

const xr = (navigator as any)?.xr as XRSystem;
xr.requestSession('immersive-vr', {optionalFeatures: ['hand-tracking']})