2016-07-21 2 views
0

Я переношу, чтобы использовать машинопись в проекте nodejs/koa. Я обнаружил, что мне нужно изменить .tsconfig на целевой es6, иначе он будет жаловаться: Генераторы доступны только при использовании ECMAScript 6 или выше.Машинопись в nodejs/koa, безопасно ли устанавливать ES6?

// 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, набрав без везения.

ответ

2

Я задаюсь вопросом, почему я не могу предназначаться ES5, так как машинопись является transpiler, он должен быть в состоянии собрать генератор обещать, как Бабель сделал

Они находятся в процессе переписано испускают часть TypeScript для использования plugins like babel делает: https://github.com/Microsoft/TypeScript/issues/5595 Эссенциально просто код, который еще не полностью написан.

Я беспокоюсь о том, полностью ли укомплектована оболочка установки esjsysjs es6 (мне сказали, что процент покрытия составляет 96%).

На данный момент это безопасно для NodeJS! См. https://kangax.github.io/compat-table/es6/ (серверное время выполнения/столбец node6)

+0

Отлично, не могу дождаться функции плагинов, просто проверил дорожную карту, она появится в 2.1. Кроме того, покрытие nodejs составляет 93%, я думаю, что нам все равно нужно быть осторожным. Кстати, не могли бы вы порекомендовать ссылки на лучшие практики о nodejs с машинописным текстом? – Ron

+0

Для режима dev мы можем настроить таргетинг на es6. Для производства IMO мы можем использовать машинописный набор для es6 и, наконец, использовать babel-node для сборки на es5 для обеспечения безопасности. – Ron

Смежные вопросы