nodejs / koa中的Typescript,是否可以安全地定位ES6?

时间:2016-07-21 00:07:18

标签: javascript node.js typescript

我正在迁移以在nodejs / koa项目中使用typescript。我发现我必须将.tsconfig更改为目标es6,否则会抱怨:生成器仅在定位ECMAScript 6或更高版本时可用

// index.ts
let koa = require('koa');
let app = koa();
export {app};

app.use(function *(){
    return yield this.body = 'Hello World';
});

app.listen(3090);

// .tsconfig
{
    "compilerOptions": {
        "module": "commonjs",
        "target": "es5", // I have to switch to es6 to pass
        "noImplicitAny": false,
        "sourceMap": true,
        "outDir": "./dist"
    },
    "exclude": [
        "node_modules",
        "dist"
    ]
}

虽然它适用于es6,但我担心如果nodejs运行时完全覆盖es6功能(我被告知覆盖百分比是96%的东西)。我想知道为什么我不能针对es5,因为打字稿是一个转换器,它应该能够编译生成器承诺像babel一样吗?

顺便说一句,我已经尝试过安装es6-shim而没有幸运。

1 个答案:

答案 0 :(得分:2)

  

我想知道为什么我不能定位es5,因为typescript是一个转换器,它应该能够编译生成器以承诺像babel一样

他们正在重写TypeScript的 emit 部分,以便像babel那样使用pluginshttps://github.com/Microsoft/TypeScript/issues/5595实际上只是尚未完全编写的代码。< / p>

  

我担心nodejs运行时是否完全覆盖es6功能(我被告知覆盖百分比是96%)。

此时为NodeJS执行此操作是安全的!请参阅https://kangax.github.io/compat-table/es6/(服务器运行时/ node6列)