Я работаю над разделением кода на уровне компонентов, используя Webpack 4. Это означает, что на одной странице может быть загружено много точек входа.
У меня есть точки входа, которые генерируются динамически, на основе соглашения об именах. Последняя проблема, для которой я решаю, - это дедупликация сгенерированного кода от Babel.
Я использую синтаксис класса, поэтому Бабель добавляет _classCallCheck
, _defineProperties
и _createClass
к указанной записи c (и даже дублирует ее в операторах import
). У меня была похожая проблема с этим во время выполнения веб-пакета, однако она была решена с помощью параметра runtimeChunk. Есть ли что-нибудь подобное для Вавилона? В идеале, похоже, что помощники Babel будут загружаться как отдельный блок, а затем передаваться как зависимость к блоку webpack. Образец пакета
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["footer"],{
...
...
},[["./src/Feature/WireFraming/code/scripts/footer.js","runtime"]]]);
может стать
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["footer"],{
...
...
},[["./src/Feature/WireFraming/code/scripts/footer.js","runtime","babel-runtime"]]]);
Я просмотрел документы в веб-пакете и, похоже, ничего не нашел. Поскольку babel является препроцессором, я не верю, что splitChunks позаботится об этом.
Надеясь, что кто-то другой испытал нечто подобное.