Это не решение, это обходной путь
Конфигурация накопительного пакета не является esm, это просто способ создания пакета с включенными зависимостями.
Вы получаете один минимизированный JS-файл, совместимый с браузером.
Вот мой рабочий пример rollup.config.js
(вам следует заменить input: 'src/index.js'
точкой входа вашего веб-приложения и output.file
местоположением сгенерированного пакета):
import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';
import builtins from 'rollup-plugin-node-builtins';
import babel from 'rollup-plugin-babel';
import visualizer from 'rollup-plugin-visualizer';
import { terser } from "rollup-plugin-terser";
const browserPlugins = [
resolve({browser: true}), // so Rollup can properly resolve cuid
babel({
exclude: 'node_modules/**',
babelrc: false,
presets: ['es2015-rollup'],
}),
// builtins(),
commonjs(),
visualizer(),
terser(),
]
export default [
// browser-friendly UMD build
{
// external: Object.keys(globals),
input: 'src/index.js',
output: {
name: 'thinflux',
file: './dist/browser/thinflux.min.js',
format: 'umd'
},
plugins: browserPlugins,
}
];
Еще одна вещь: express должен статически обслуживать путь output.file
, а не исходные файлы