我的项目中有一个假设的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