我想将 typescript 生成的模块中的函数导入 javascript 的全局命名空间。这是我的打字稿模块foo.ts
:
export const fooFn = (): string => {
return "hello";
};
这是我的 HTML 文件:
<html>
<body>
<script src="foo.ts"></script>
<script type="application/javascript">
window.fooFn = require("./foo.ts").fooFn;
alert(fooFn());
</script>
</body>
</html>
这给了我错误Cannot find module './foo.ts'
。在搞砸了一点之后,我发现我可以使用包裹生成的索引(例如,window.fooFn = require(7).fooFn
)导入它,但显然这不是一个可行的解决方案,并且每次我重新启动包裹开发服务器时索引都会更改。
所以,我的问题是,如何按名称导入这个模块?
这是我tsconfig.json
的参考:
{
"compilerOptions": {
"strict": true,
"target": "es2015",
"jsx": "react",
}
}
如果你想知道我为什么要在全局命名空间上公开这个函数,这样我就可以轻松地从 WebAssembly 应用程序中访问它。