我想尝试使用 webxr 并设置了一个打字稿项目。根据{{3}}
我应该做到以下几点:
const supported = await navigator.xr.isSessionSupported('immersive-vr');
使用我的打字稿设置 navigator.xr
显示为错误。
WebXR
我想知道如何为 webxr
设置打字稿。我的 tsconfig
看起来像这样:
{
"compilerOptions": {
"outDir": "./dist/",
"noImplicitAny": true,
"module": "esNext",
"target": "es6",
"allowJs": true,
"moduleResolution": "node"
},
"exclude": [
"./node_modules"
],
}
答案 0 :(得分:2)
对于 WebXR,您需要 add definitions,such as these ones. 类似运行:npm install --save-dev @types/webxr
然后导入类型:
import type { Navigator } from 'webxr';
相关:
答案 1 :(得分:1)
在命令行中使用 webxr
为 npm 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']})