Оптимизация момент-часовой пояс с веб-пак
Я пытаюсь исключить последний файл.json, который использует момент-часовой пояс, и использую свой собственный, который включает только нужные вам часовые пояса. Чтобы уменьшить мой выходной пакет.
в webpack config.plugins я попробовал:
new webpack.NormalModuleReplacementPlugin(
/moment-timezone\/data\/packed\/latest\.json/,
require.resolve('./timezones/timezone-definitions.json')
)
но безуспешно Я все еще получаю последний файл.json, который использует момент-часовой пояс. Я не получаю никакой ошибки в консоли.
Какие-либо предложения?
0 ответов
Я попытался использовать решение webpack.NormalModuleReplacementPlugin(), но оно не сработало, тогда я нашел комментарий по ссылке ниже и использовал псевдоним. Это сработало.
https://github.com/webpack/webpack/issues/8105
resolve: {
extensions: [".ts", ".js", ".svg", ".json"],
alias: {
[path.resolve(__dirname, "node_modules/moment-timezone/data/packed/latest.json")]:
path.resolve(__dirname, "src/common/timezone-definitions.json")
}
}
Убедитесь, что вы добавили .json
к resolve.extensions
массив.
Если вы используете webpack, вас может заинтересовать https://github.com/gilmoreorless/moment-timezone-data-webpack-plugin для оптимизации моментального часового пояса latest.json
Вы можете ограничить данные, которые должны быть включены из latest.json, следующим образом:
- выбор годового диапазона
- выбор регионов, стран...
Пример включения набора зон:
const MomentTimezoneDataPlugin = require('moment-timezone-data-webpack-plugin');
module.exports = {
plugins: [
new MomentTimezoneDataPlugin({
matchZones: [/^Australia/, 'Pacific/Auckland', 'Etc/UTC'],
startYear: 2000,
endYear: 2030,
}),
]
};
Вы можете найти больше информации и примеров здесь