убедившись, что процесс сборки полимера не связан с зависимостью моего элемента - PullRequest
0 голосов
/ 28 апреля 2018

Я создал пользовательский элемент / веб-компонент для загрузки и отображения сгенерированного Unity контента WebGL. Веб-компонент импортирует модуль UnityLoader.js и прекрасно работает при использовании в приложении, снабженном «полимерной подачей».

Однако, когда я создаю приложение, использующее мой веб-компонент через процесс сборки Polymer-CLI, никаких ошибок не возникает, но когда я получаю доступ к странице с помощью моего компонента, я всегда получаю ошибку из UnityLoader.js:

"ReferenceError: BabelHelpers is not defined" 

Если я создаю элемент непосредственно в своем приложении (другими словами, он больше не управляется bower), тогда я могу исключить этапы минимизации и компиляции в разделе сборки в файле Polymer.json моего приложения и в сборочной версии приложение работает отлично.

  "builds": [
{
  "preset": "es5-bundled",
  "js": {
    "compile": {"exclude": ["content/**/*","UnityLoader.js"]},
    "minify": {"exclude": ["content/**/*","UnityLoader.js"]}
    },
    "html": {
      "minify": {"exclude": ["content/**/*"]}
    }
}
]

Я посмотрел на файл Polymer.json моего приложения и вижу, что узел extraDependecies содержит некоторые зависимости, которые были размещены другими веб-компонентами:

"extraDependencies": [
  "bower_components/webcomponentsjs/*.js",
  "!bower_components/webcomponentsjs/gulpfile.js",
  "manifest.json",
  "bower_components/plastic-image/intersection-observer.js",
  "bower_components/ua-parser-js/dist/ua-parser.min.js"
  ],

У меня есть UnityLoader.js внутри extraDependencies элемента Polymer.json, но он не распространяется каскадом на приложение, которое импортирует / использует элемент - что, я думаю, должно быть возможным в виде plastic-image и ua-parser- js сделал это (я посмотрел на их папки bower_components, и ничего не кажется очевидным - кроме последнего, установленного как зависимость первого).

Любые идеи о том, как я могу убедиться, что UnityLoader.js, который использует мой веб-компонент, не компилируется и не минимизируется во время процесса сборки приложения, которое его использует?

1 Ответ

0 голосов
/ 26 мая 2018

У меня была похожая проблема с firebase-auth.js при создании ES5 с использованием polymer-cli 1.7.0. При компиляции / минимизации определенных файлов может возникнуть проблема. Мне пришлось откатиться до 1.6.0, используя npm install -g polymer-cli@1.6.0, чтобы решить проблему.

...