Подтвердить что ты не робот

Как объединить модули ES6?

Как я могу объединить модули ES6?

var foo = 2; // This would normally be scoped to the module.
export function Bar() {}

// ...concatenate...

import { Bar } from 'javascripts/bar' //This file no longer exists in the concatenated scenario.
export function Bam() {}
4b9b3361

Ответ 1

Если вы хотите создать один файл JavaScript, который не использует внутренние модули ES6, поэтому вы можете использовать его с браузерами / node сегодня, тогда я рекомендую использовать Esperanto (полное раскрытие, я сторонник проекта). Это позволяет вам создать пакет, который объединяет все файлы вместе без использования загрузчика, например, вы использовали бы что-то вроде браузера или webpack. Обычно это приводит к уменьшению кода (без загрузчика), более эффективному устранению мертвого кода (при использовании minifier, таком как Google Closure Compiler или UglifyJS) и лучшей производительности, поскольку интерпретатор JS лучше способен оптимизировать результат.

Вот пример использования, но обратите внимание, что есть множество инструментов для интеграции Esperanto в ваш рабочий процесс:

var fs = require( 'fs' );
var esperanto = require( 'esperanto' );

esperanto.bundle({
  base: 'src', // optional, defaults to current dir
  entry: 'mean.js' // the '.js' is optional
}).then( function ( bundle ) {
  var cjs = bundle.toCjs();
  fs.writeFile( 'dist/mean.js', cjs.code );
});

Этот пример взят из страницы при подключении модулей ES6.

Ответ 2

Я бы посоветовал вам взглянуть на http://webpack.github.io, а затем объединить его с babel.

В качестве альтернативы вы можете сделать это с помощью babel в одиночку:

https://babeljs.io/docs/usage/cli/