小编Sam*_*son的帖子

打字稿转换es6 .js依赖于es5

我的项目中有一个假设的Typescript文件(简化示例).

Utils.ts:

import * as HelperFromNodeModules from 'helper-from-node-modules';

class Utils {
  static foo() {
    return HelperFromNodeModules.parse(...);
  }
}
Run Code Online (Sandbox Code Playgroud)

导入helper-from-node-modules包含一个Javascript文件.

helper-from-node-modules.js:

const dep = require('foo');
function parse(...) {
   return bar.map((e) => {...});
}
Run Code Online (Sandbox Code Playgroud)

@types/helper-from-node-modules index.d.ts:

export function parse(...);
Run Code Online (Sandbox Code Playgroud)

tsconfig.json除其他外包含以下内容:

{
  ...
  "target": "es5",
  "lib": ["es2015.collection","es6", "dom"],
  "sourceMap": true,
  "allowJs": true,
  ...
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是Typescript编译器的输出文件是我编译的源代码加上所有的重要性的巨大连接.由于helper-from-node-modules始终是.js文件,编译器似乎只是将其内容附加到输出文件.所以,尽管"target": "es5"输出文件中仍含有ES6工件,如const(e) => {...},导致在后来的事情是希望严格错误ES5的JavaScript.

有没有办法告诉Typescript编译器/转换器在javascript依赖上输出 …

javascript typescript ecmascript-6 tsconfig react-create-app

11
推荐指数
2
解决办法
2372
查看次数