TypeScript, Webpack, модули в стиле ES6, но ориентированные на ES5
Можно ли использовать TypeScript и Webpack для целевой ES5, но писать модули в стиле ES6?
Я хочу написать такие модули:
export class MyClass {
}
И импортировать их так:
import {MyClass} from "Path/To/MyClass";
Это прекрасно работает с SystemJS и tsconfig следующим образом:
"compilerOptions": {
"target": "es5",
"module": "system",
}
Но я бы хотел использовать Webpack вместо SystemJS.
С "системой" в качестве настройки модуля я понимаю, что "Система не определена" как ошибка консоли.
Я новичок в Webpack, но, возможно, есть какая-то комбинация ts-loader и babel-loader, которую я могу использовать? Я просто не могу найти правильную конфигурацию.
1 ответ
Да, ты можешь. В версии 1 Webpack (которая является текущей) система не поддерживается. Вы должны нацелить модуль на commonjs следующим образом:
"compilerOptions": {
"target": "es5",
"module": "commonjs",
}
Версия 2 веб-пакета будет поддерживать системные модули.