Как стать автором
Обновить

Комментарии 6

Ура, моя машина времени работает! Она доставляет статьи из 2016 года!

Я бы порекомендовал попробовать hqjs.org это умный сервер который преобразует модули в es6 формат.
Буду краток: javascript — полный п..... просто ужас.

На практике es6 модули очень сырые пока, к сожалению, особенно в TypeScript + Node. Поддержка для них в TypeScript весьма странная — например, TypeScript не умеет генерировать .mjs и всегда генерирует .js (помечено как wont fix в их GitHub issues), а для включения es6 модулей в TS приходится писать


import x from “./a.mjs”;


Да-да, вот так, с указанием расширения прямо в *.ts файлах. Костыль страшный.


Есть https://www.npmjs.com/package/esm, который автор эпатажно определяет как «The brilliantly simple, babel-less, bundle-less ECMAScript module loader. Esm is the world’s most advanced ECMAScript module loader. This fast, production ready, zero dependency loader is all you need to support ECMAScript modules in Node 6+» — и который также костыль над предыдущим костылем.


Поэтому в TypeScript для серверного кода в большинстве случаев приходится использовать module=commonjs. Для Webpack-а же — module=esnext, иначе не работают чанки.


Во всем этом только одно радует: на TypeScript можно спокойно использовать import-export. Клюджи только на уровне скомпилированных файлов.

Спасибо, очень занимательная статья

PS. Небольшая опечатка
CommonJS/NOde.js

Блин, топовая статья, очень полезно

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории