【发布时间】:2020-05-17 15:50:17
【问题描述】:
我正在构建一个 Web 应用程序。 我在客户端使用 typescript,在服务器端使用 golang。 我使用打字稿 3.9.2。
我想将.ts 文件编译为.js,并使用模块。
默认编译将其编译为 CommonJS 模块加载器。
然后在浏览器的第二行有一些exports.__...。
我搜索了一下,它基本上说它需要一个名为exports 的变量,而我没有。在这种情况下,我不喜欢在其他脚本标签中定义模拟导出的主要解决方案。
我将compilerOption 更改为"module":"ES6"
然后它编译并加载好(将脚本的类型更改为模块后),但浏览器找不到我要导入的模块。
代码如下:
使用.ts
import * as fun from 'funcs'
let bar = fun.foo()
funcs.ts
export function foo() :boolean{
return true;
}
使用.js
import * as fun from 'funcs'
var bar = fun.foo()
funcs.js
export function foo(){
return true;
}
现在浏览器找不到/funcs,它需要use.js。当我将use.js 中的第一行手动更改为
import * as fun from 'funcs.js'
有效。
我能做些什么来让一切自动化? 这里的最佳做法是什么?
【问题讨论】:
标签: javascript typescript es6-modules