Я создал пользовательский элемент / веб-компонент для загрузки и отображения сгенерированного 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, который использует мой веб-компонент, не компилируется и не минимизируется во время процесса сборки приложения, которое его использует?