Zen*_* Qu 1 javascript import typescript webassembly
我正在尝试在我的 TypeScript React 项目中使用wasm-clingo。我尝试d.ts为该项目编写自己的文件:
// wasm-clingo.d.ts
declare module 'wasm-clingo' {
export const Module: any;
}
Run Code Online (Sandbox Code Playgroud)
并像这样导入:
import { Module } from 'wasm-clingo';
Run Code Online (Sandbox Code Playgroud)
但当我console.log(Module)说undefined. 我做错了什么?
笔记:
我这样解决了这个问题:
// wasm-clingo.d.ts
declare module 'wasm-clingo' {
const Clingo: (Module: any) => Promise<any>;
namespace Clingo {}
export = Clingo;
}
Run Code Online (Sandbox Code Playgroud)
和
import * as Clingo from 'wasm-clingo';
Run Code Online (Sandbox Code Playgroud)
我知道您找到了您可以接受的解决方案;但是,这里实际上没有任何类型,您只是Module声明为any,这根本没有给您带来打字稿的好处。在类似的情况下,我使用了@types/emscripten,它为使用 emscripten 编译的 Web 程序集模块提供了完整的类型定义。您只需要做:
npm install --save-dev @types/emscripten
然后更改您的tsconfig.json types数组以添加 的条目emscripten。之后你就可以写Module.ccall(...)等等。如果你愿意,你当然可以写const Clingo = Module然后调用它,如果你想要一个更具描述性的名字Module(这是一个可怕的名字!)。
不客气 ;)
| 归档时间: |
|
| 查看次数: |
3334 次 |
| 最近记录: |