gpt4 book ai didi

javascript - 将 JS Web 程序集导入 TypeScript

转载 作者:行者123 更新时间:2023-12-03 01:47:57 25 4
gpt4 key购买 nike

我正在尝试使用 wasm-clingo在我的 TypeScript React 项目中。我尝试为该项目编写自己的 d.ts 文件:

// wasm-clingo.d.ts
declare module 'wasm-clingo' {
export const Module: any;
}

并像这样导入:

import { Module } from 'wasm-clingo';

但是当我console.log(Module)时,它显示未定义。我做错了什么?

注释:

解决方案:

我是这样解决这个问题的:

// wasm-clingo.d.ts
declare module 'wasm-clingo' {
const Clingo: (Module: any) => Promise<any>;
namespace Clingo {}
export = Clingo;
}

import * as Clingo from 'wasm-clingo';

Here's the source for this solution

最佳答案

我知道您找到了您可以接受的解决方案;但是,这里实际上没有任何类型,只是将 Module 声明为 any,这根本没有给您带来 typescript 的好处。在类似的情况下,我使用了 @types/emscripten,它为使用 emscripten 编译的 Web 程序集模块提供了完整的类型定义。您只需要做:

npm install --save-dev @types/emscripten

然后更改您的 tsconfig.json types 数组以添加 emscripten 条目。之后,您可以编写 Module.ccall(...) 等。如果您愿意,您当然可以编写 const Clingo = Module ,然后如果您愿意的话,可以对其进行调用想要一个比 Module 更具描述性的名称(这是一个糟糕的名称!)。

不客气;)

关于javascript - 将 JS Web 程序集导入 TypeScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50547926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com