2015-11-06 3 views
1

Я создаю новый проект с ES6 и создаю скрипт сборки.Нужно ли мне обозревать, если я использую ES6?

Мне интересно, какова ценность браузера, когда у вас уже есть импорт ES6?

Если я укажу свой сценарий глоссария, чтобы свести к минимуму и удалить журналы журналов и т. Д. Моих сценариев «ввода», мне нужно обозревать? (Т.е. мой сценарий ввода будет использовать импорт ES6 для импорта любых файлов js для детей. В моих дочерних JS-файлах, если они используют что-то из другого js-файла, они будут импортировать это также и т. Д.)

+0

Вам нужно будет перекрыть ваш ES6, если вы конвертируете операторы импорта в commonjs, тогда браузер будет связывать их для вас. – Lee

ответ

2

Browserify and Webpack взаимодействовать с модулями, но не синтаксически. Язык или время выполнения предоставляет вызов import или require в зависимости от того, используете ли вы ES6 или Node, но поставщик действительно принимает эти модули и объединяет их в один файл.

Во время процесса большинство коммутаторов выполняют некоторые оптимизации. Общие из них включает в себя:

  • преобразование ES6 в старые версии (ES5 или даже ES3)
  • минификации/uglification
  • включая CSS, изображения и другие данные без сценария
+0

'... но связной действительно принимает эти модули и объединяет их в один файл'. Вы говорите, что' import' не помещает их все в один файл? –

+1

@Chowza это, безусловно, нет. 'import' приведет к тому, что среда выполнения загрузит и выполнит файл, а затем вернет ссылку, но ничего не сделает для их объединения. Webpack (и, в меньшей степени, Browserify) будет искать импорт, объединять все указанные файлы, а затем проверять неиспользуемый код и удалять его, оптимизировать все и оставлять один файл меньшего размера для обслуживания ваших пользователей. – ssube

+0

@ssube: проблема в том, что ни один из браузеров не поддерживает модули ES6, а ES6 импортирует еще. поэтому вам нужны связки. – Liero

0

т.е. мой сценарий ввода будет использовать импорт ES6 для импорта любых файлов js для детей.

В настоящее время не существует среды JavaScript, которая поддерживает модули ES6. Таким образом, вам определенно нужно преобразовать файлы в систему модулей, в которых ваша целевая среда использует/поддерживает и/или связывает их (например, с помощью браузера).

Смежные вопросы