Все локали в одном пакете, используя веб-пакет - PullRequest
0 голосов
/ 22 января 2020

В моем проекте реагирования / веб-пакета я использую ContextReplacementPlugin для объединения нужных мне файлов локали -

var webpack = require("webpack");
module.exports = {
  // ...
  plugins: [
    new webpack.ContextReplacementPlugin(/moment[\/\\]locale$/, /de|fr|hu/)  ]
};

Этот код правильно связывает файл, но меня беспокоит только то, что он объединяет все файлы локали в настоящее время и в будущем нам необходимо поддерживать другие страны, и в это время размер пакета продолжает расти.

Есть какой-либо способ, которым я могу контролировать размер своего пакета и связывать только ту локаль, которую будет использовать пользователь.

1 Ответ

0 голосов
/ 22 января 2020

Вы не можете связать только локаль, которую будет использовать пользователь. Рассмотрим сроки этих двух отдельных событий:

  • Когда вы связываете, никто не знает об этой версии приложения, кроме вас, там есть нет пользователя
  • Когда пользователь входит в систему, вы связали приложение, вероятно, задолго до того, как они вошли в систему (вам пришлось бы, или иначе, во что еще они входят?)

Вам необходимо объедините все возможные языковые стандарты, которые может понадобиться любому пользователю, поэтому если есть только подмножество языковых стандартов, которые вы будете использовать, объедините их, и это максимум, что вы можете оптимизировать в своем комплекте.

Что касается сохранения размера пакета в управления, я рекомендую использовать webpack-bundle-analyzer

...