У меня есть проект, в котором я связываю библиотеку компонентов, используя Rollup (генерируя файл bundle.esm.js). Эти компоненты затем используются в другом проекте, который генерирует веб-страницы, которые используют эти компоненты - каждая страница использует разные компоненты.
Проблема состоит в том, что вся библиотека компонентов всегда связана с различными пакетами страниц, независимо от того, какие компоненты я использую, что излишне увеличивает размер пакета.
Это мои настройки накопительного пакета:
import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';
import babel from 'rollup-plugin-babel';
import peerDepsExternal from 'rollup-plugin-peer-deps-external';
import pkg from './package.json';
const extensions = [
'.js', '.jsx', '.ts', '.tsx',
];
export default [
{
input: './src/base/index.ts',
plugins: [
peerDepsExternal(),
resolve({ extensions }),
babel({
exclude: 'node_modules/**',
extensions,
}),
commonjs(),
],
output: [
{ file: pkg.main, format: 'cjs', sourcemap: true },
{ file: pkg.module, format: 'es', sourcemap: true },
],
watch: {
clearScreen: false,
},
},
];
У меня также есть "модули", установленные в false в веб-пакете.