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 веб-пакета будет поддерживать системные модули.

Другие вопросы по тегам