在1个TS demo, 我想将.ts文件转换为可在浏览器执行的.js文件。
但tsc命令后,输出的js文件里import { Foo } from "./foo";
没有自动添加扩展名(import { Foo } from "./foo.js";
) 导致在浏览器中无法执行。
问题: 怎么配置tsconfig.json文件,可以将ts文件转换为可浏览器执行的js文件。
源代码: https://gitee.com/wuchm/my-ts-app
项目源文件:
转换后的js文件:
index.js 与 foo.js 的内容根本不对, 是运行命令 tsc index.ts
生成的吗?
ts 编译成 js 不是这样的输出
在项目根目录执行的tsc
@北在北方: 建议在github上建一个重现这个问题的仓库
While the module compiler option can transform imports and exports in input files to different module formats in output files, the module specifier (the string from which you import, or pass to require) is always emitted as-written. ...There is no compiler option that enables transforming, substituting, or rewriting module specifiers. Consequently, module specifiers must be written in a way that works for the code’s target runtime or bundler, and it’s TypeScript’s job to understand those output-relative specifiers.