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