Убедившись, что процесс сборки полимера не связан с зависимостью моего элемента
Я создал пользовательский элемент / веб-компонент для загрузки и отображения сгенерированного Unity контента WebGL. Веб-компонент импортирует модуль UnityLoader.js и прекрасно работает, когда используется в приложении, снабженном "полимерной подачей".
Тем не менее, когда я создаю приложение, использующее мой веб-компонент через процесс сборки Polymer-CLI, никаких ошибок не возникает, но когда я захожу на страницу, используя свой компонент, я всегда получаю сообщение об ошибке изнутри UnityLoader.js:
"ReferenceError: BabelHelpers is not defined"
Если я создаю элемент непосредственно в своем приложении (другими словами, он больше не управляется bower), то я могу исключить этапы минификации и компиляции в разделе сборки файла poly.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, но это не распространяется каскадом на приложение, которое импортирует / потребляет элемент - что, я думаю, должно быть возможным, как сделали пластик-образ и ua-parser-js это (я посмотрел на их папки bower_components и ничего не кажется очевидным - кроме последнего, установленного как зависимость первого).
Любые идеи о том, как я могу убедиться, что UnityLoader.js, который использует мой веб-компонент, не скомпилированы или минимизированы в процессе сборки приложения, которое его использует?
1 ответ
У меня была похожая проблема с firebase-auth.js
при сборке ES5 с использованием polymer-cli 1.7.0
, При компиляции / минимизации определенных файлов может возникнуть проблема. Мне пришлось откатиться на 1.6.0
с помощью npm install -g polymer-cli@1.6.0
решить проблему.