在开发TS的时候,发现了TS文件编译后的JS文件最前面会有一行代码Object.defineProperty(exports, __esModule, { value: true }),按照正常的编译语法,是不会凭空产生这一行代码的,所以网上查了很久,最后还是查到了。
这行代码的原因是TS 的编译插件在编译TS时,是根据CommonJS 的语法编译的,
去插件的配置文件里面,将tsconfig.json文件里面的 ‘module’:'commonjs’注释掉,就结局了。
tsconfig.json是一个配置文件,里面描述了一条条的规则,ts的编译插件就按照这个文件里面的规则去编译ts,这里的 ‘module’:‘commonjs’,就是规定了ts的模块语法是按照commonJS去编译的,而我想要的是ES的模块语法用于浏览器的。