Возможно ли в Rollup сохранить структуру файлов и папок?

Я использую импорт ES6 и транспортирую их с помощью Rollup.

Выход представляет собой один файл пакета.

Можно ли сконфигурировать Rollup для генерации результата преобразования файла в файл?

Вот текущая конфигурация, которую я использую, которая явно выплевывает один файл.

 gulp.task('rollup', function() {
    const rollup = require('rollup');
    const nodeResolve = require('rollup-plugin-node-resolve');

    const JS_INDEX_FILE = 'src/index.js';

    return rollup.rollup({
        input: JS_INDEX_FILE,
        plugins: [
            nodeResolve({
                browser: true
            })
        ]
    }).then(bundle => {
            bundle.write({
                sourcemap: true,
                format: 'cjs',
                strict: true,
                file: 'bundle.js'
            });
        });
});

По сути, я хотел бы отдельные файлы с require() вместо import,

2 ответа

Если вы хотите использовать свертку для преобразования ES6 в CommonJS и сохранить структуру файлов и каталогов, ваша конфигурация свертки может выглядеть примерно так:

      import { nodeResolve } from "@rollup/plugin-node-resolve";

export default [
  {
    input: ["src/index.js"],
    plugins: [nodeResolve()],
    output: [
      {
        dir: "dist",
        format: "cjs",
        exports: "named",
        preserveModules: true, // Keep directory structure and files
      }
    ]
  }
]

См. Интеграция накопительного пакета с другими инструментами, чтобы определить, нужна ли вам плагин и именно то, что «сохраняется» из внешних пакетов.

Rollup - это модуль комплектации. То, что вы хотите, это компилятор, такой как Babel.

Другие вопросы по тегам