繁体   English   中英

如何从Javascript中按名称导入Typescript生成的模块?

[英]How can I import a typescript-generated module by name from within Javascript?

我想将一个由打字稿生成的模块中的函数导入到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应用程序中轻松访问它。

这仍然是一个未解决的问题

在TypeScript支持专用的编译目标之前,您只能选择使用模块捆绑程序。

这些天最流行的是webpack汇总包裹

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM