#rollup #rollupjs
#накопительный #rollupjs
Вопрос:
У меня есть приложение, для которого требуется 3 базы микрокодов и некоторые материалы iframe postMessage.
Контролируя сборку всего этого, я стремлюсь управлять из одного файла конфигурации rollup и вводить аргументы через cli:
"scripts": {
"dev:child": "rollup -c rollup.config.js -w --for_type child",
"dev:parent": "rollup -c rollup.config.js -w --for_type parent",
"dev:sidebar": "rollup -c rollup.config.js -w --for_type sidebar",
Моя конфигурация rollup работает, но проблема в том, что rollup жалуется, что for_type
это не распознанный аргумент.
Каков правильный способ ввода пользовательских аргументов в rollup?
Я ничего здесь не вижу: https://rollupjs.org/guide/en/#configuration-files
Ответ №1:
При экспорте функции вместо объекта в rollup.config.js
, первым аргументом функции будет объект аргументов CLI. Например, если ваша конфигурация:
export default cliArgs => {
let build = {
input: 'src/index.js',
output: [/* ... */],/
plugins: [/* ... */]
};
switch (cliArgs.for_type) {
case 'child':
// Customise build for child
break;
case 'parent':
// Customise build for parent
break;
case 'sidebar':
// Customise build for sidebar
break;
default:
// No CLI argument
break;
}
return build
};
Еще раз взгляните на документацию для получения дополнительной информации.
Ответ №2:
Из https://rollupjs.org/guide/en/#configuration-files
Вы даже можете определить свои собственные параметры командной строки, если вы добавите к ним префикс config:
export default commandLineArgs => {
if (commandLineArgs.configDebug === true) {
return debugConfig;
}
return defaultConfig;
};
Комментарии:
1. В случае, если из этого ответа не было ясно (это было не для меня), в случае OP им нужно было бы изменить имя аргумента на
--config_for_type
.2. Голос отклонен, потому что я устал от людей, публикующих ответы и учебные пособия, в которых делаются основные предположения и полностью опускаются ключевые фрагменты основополагающих знаний, о которых НЕ знал бы тот, кто все еще учится. Интернет изобилует этим дерьмовым подходом. Если вы уже нашли время, чтобы помочь, что замечательно, пожалуйста, сделайте это тщательно и включите все шаги — поставьте себя на место ученика, тщательно. Нет смысла что-либо делать, если вы не делаете это ПРАВИЛЬНО. Спасибо BlueGreenMagick!