rollup.js как импортировать дополнительные файлы без изменения исходных файлов

мой пример основан на базовом примере rollup.js: https://rollupjs.org/guide/en/#rolluprollup

проект, над которым я работаю, требует включения и исключения дополнительных файлов. (я знаю, как исключить пути с помощью плагина «свернуть-плагин-игнорировать».)

как я могу указать rollup.js добавить файлы в список импорта (так же, как я импортировал их в исходный код), не изменяя исходные файлы. ?

я пытался использовать плагин commonjs

var commonjs = require('rollup-plugin-commonjs');
var include = ["D:\\...abs_path....\\components\\Auth\\FormLogin.jsx"]
commonjs( {"include": include})

но я не вижу компонент "FormLogin" в выходном файле.

есть ли более простой способ, не могли бы вы помочь мне, пожалуйста?

я буду признателен за вашу помощь.
большое спасибо.


person shay te    schedule 21.11.2019    source источник
comment
Спасибо Вам за Ваш вопрос. У вас больше шансов получить ответ, если вы подробно расскажете, какое исследование вы провели, чтобы попытаться найти решение. См. Руководство по вопросам переполнения стека: stackoverflow.com/help/how-to-ask.   -  person jeffhale    schedule 21.11.2019
comment
я обновил свой вопрос, все еще не нашел решения для этого, спасибо   -  person shay te    schedule 01.12.2019


Ответы (1)


Это немного неортодоксально, потому что rollup.js использует встряхивание дерева для анализа вашего кода и включает только используемые части, а вы хотите включить что-то, что не используется.

самым простым способом будет конкатенация в командной строке, как в windows cmd:

type file_from_rollup.js additional.js > bundle.js

во-вторых, вы можете указать накопительному пакету использовать две точки входа:

rollup main.js libB.js -d ./bundle --format cjs

это создаст два связанных файла в папке ./bundle, оба из них древовидные.

Если FormLogin.jsx упоминается в исходном коде (видно из основной точки входа), попробуйте отключить встряхивание дерева, например

rollup main.js --no-treeshake  --file bundle.js --format cjs

и посмотрите, включен ли он. Возможно, rollup.js не распознает его правильно: https://rollupjs.org/guide/en/#tree-shaking-doesnt-seem-to-be-working

person Marinus Pfund    schedule 06.12.2019
comment
спасибо @Marinus Pfund. вы помогли мне подтвердить мои опасения. мне нужен один выходной файл. так как в обоих случаях я собираюсь манипулировать/объединять файлы любым способом. я создам новый источник для получения одного вывода. - person shay te; 07.12.2019