Ошибка Polymer 3 - как настроить параметр Rollup --inlineDynamicImport - PullRequest
0 голосов
/ 22 марта 2020

Я получаю следующую ошибку после добавления динамического c импорта (требуется для варианта использования) при попытке сборки с использованием полимерных инструментов:

info:   Clearing build/ directory...
error:  Promise rejection: Error: Failed to bundle.  Rollup generated 2 chunks or assets.  Expected 1.
error:  Error: Failed to bundle.  Rollup generated 2 chunks or assets.  Expected 1.
    at Es6Rewriter.<anonymous> (/home/suared/localdev/nodespace/ui/node_modules/polymer-cli/node_modules/polymer-bundler/lib/es6-rewriter.js:138:23)
    at Generator.next (<anonymous>)
    at fulfilled (/home/suared/localdev/nodespace/ui/node_modules/polymer-cli/node_modules/polymer-bundler/lib/es6-rewriter.js:4:58)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

Я нашел потенциальное решение в документах Rollup и Сеть, которая ссылалась на эту проблему, была исправлена ​​при передаче --inlineDynamicImports команде Rollup. Однако я не нашел возможности передать это как часть процесса сборки. Я попробовал это:

polymer build --auto-base-path --inlineDynamicImport

Он сообщил об ошибке, что это неизвестная опция. Я также попытался поместить это в polymer.json как часть конфигурации пакета, безуспешно; он не выглядит так, как будто он фактически передается в Rollup:

      "bundle": {
        "inlineCss": true,          
        "inlineScripts": true,      
        "rewriteUrlsInTemplates": true, 
        "sourcemaps": true,     
        "stripComments": true,
        "--inlineDynamicImport": true    
      }

Как правильно передать инструментам сборки Polymer параметр --inlineDynamicImport, чтобы я получил только один файл и, следовательно, избежал ошибка "2 куска"?

1 Ответ

0 голосов
/ 23 марта 2020

Если это поможет другим, пока я не получу реальный ответ, этот обходной путь сработал для меня:

Локальное исправление обезьяны / обновление следующего файла: node_modules / polymer-cli / node_modules / Polymer-bundler / lib / es6-rewriter. js: 74

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

            const rollupBundle = yield rollup_1.rollup({
                input,
                external,
                onwarn: (warning) => { },
                treeshake: this.bundler.treeshake,
                inlineDynamicImports: true, ....(rest of existing command

Любой помощь в правильном использовании инструментов сборки приветствуется / приветствуется.

Спасибо! David

...