Я переношу, чтобы использовать машинопись в проекте 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.1. Кроме того, покрытие nodejs составляет 93%, я думаю, что нам все равно нужно быть осторожным. Кстати, не могли бы вы порекомендовать ссылки на лучшие практики о nodejs с машинописным текстом? – Ron
Для режима dev мы можем настроить таргетинг на es6. Для производства IMO мы можем использовать машинописный набор для es6 и, наконец, использовать babel-node для сборки на es5 для обеспечения безопасности. – Ron