现在,在将ts文件编译为ES6 js时,tsc保持导入语句不变。
================================================ =================
给出一个名为ModuleA的 JavaScript库,其内容如下:
(function(){
var ModuleA = {
/* members */
};
})();
它也定义了一个.d.ts文件。 接下来,在ts文件中,我们要导入它:
import * as ModuleA from "./ModuleA";
let v = new ModuleA.ClassFoo();
同时,进行编码时,(Visual Studio代码的)Intelligentense效果很好。 但是当我编译它(目标ES6,模块式ES6)并运行时。浏览器提示“ ClassFoo不是构造函数。”
要解决此问题,我将ts文件中的导入语句更改为:
import "./Module"
出现编译错误(并且intelligense不再起作用),但可以在浏览器中工作。
================================================ =================
使用库konva进行2D绘画时遇到了这个问题。
参考代码:
index.html
<script type="module">
import "./main.js";
main();
</script>
main.ts
import "./node_modules/konva/konva.js";
function main()
{
let stage = new Konva.Stage();
}
konva库是从npm安装的。