Учитывая, что большинство браузеров теперь поддерживают собственные модули ES6 и в сочетании с возможностями HTTP / 2, целесообразно загружать в эти браузеры не связанные модули ES6, но с запасным вариантом использования атрибута тега nomodule
для других браузеров.
Исходя из этого, я хочу настроить веб-пакет, чтобы сделать именно это; так что, помимо обычного связывания (например, при создании app.bundle.js
), он также копирует модули ES6 в выходную папку и обновляет URL-адреса импорта (можно предположить, что весь код JS использует импорт, который является самим модулем ES6 - очевидно, commonJS / Транспортировка UMD была бы хороша, пока все не предоставят пакеты модулей ES6 в npm).
Я думаю, что веб-пакет может просто скопировать эти импортированные модули в выходную папку (используйте плагин копирования), одновременно обновляя URL-адреса импорта, например, если у меня было:
import _ from "lodash-es";
Webpack должен скопировать папку node_modules/lodash-es
в папку 'modules' в выходной папке и переписать импорт в что-то вроде ниже (расположение вывода, очевидно, можно настроить):
import _ from "./modules/lodash-es"
Я не вижу каких-либо простых решений этой проблемы (которые, я могу только представить, станет более распространенным, когда люди примут собственные модули ES6); Я собираюсь продолжить работу над решением, которое соответствует моим потребностям и документирует здесь, но если у кого-то есть рабочее решение этой проблемы или ссылка на него, пожалуйста, дайте нам знать, так как я надеюсь, что я не единственный, кто пытается чтобы решить это.