Я разрабатываю веб-приложение Vite-React, которое будет использоваться только мной, и вот моя простая команда сборки в package.json: "build": "vite build --emptyOutDir --base=./"
.
Он использует библиотеки Google Firebase, которые содержат несколько подмодулей, каждый из которых имеет один и тот же комментарий @license, что приводит к 48-кратному повторению одного и того же текста, что составляет 80% моей сборки, поскольку все остальное я все равно заархивировал. Теперь у меня нет проблем с ручным, к счастью, и осторожным добавлением всех уникальных лицензий там, где это необходимо, но сначала я хочу удалить лицензии во время сборки.
Я понимаю, что «@license», вероятно, является маркером, который ищет минификатор, и я поискал, но не нашел способа его отключить. Пожалуйста, порекомендуйте. И спасибо!
🤔 А знаете ли вы, что...
React обладает активным сообществом разработчиков и множеством сторонних библиотек и компонентов.
Вам необходимо настроить terser
через vite.config.js
:
export default defineConfig({
build: {
terserOptions: {
format: {
comments: false
}
}
}
});
comments
(по умолчанию"some"
) — по умолчанию сохраняются комментарии в стиле JSDoc, которые содержат «@license», «@copyright», «@preserve» или начинаются с!
, передайтеtrue
или"all"
, чтобы сохранить все комментарии,false
, чтобы опустить комментарии в вывод, строка регулярного выражения (например,/^!/
) или функция.
Теперь минификатор по умолчанию — esbuild
(https://vitejs.dev/config/build-options.html#build-minify).
Вот новая конфигурация, которая работает:
export default defineConfig({
// ...
build: {
// ...
},
esbuild: { legalComments: 'none' },
})
https://esbuild.github.io/api/#legal-comments