Open faburem opened 7 years ago
@faburem This happens because polymer wont work in es5. Meteor is converting the es6 polymer 2 code to es5. You have to import an es5 adapter file. Check the es6 to es5 section https://www.polymer-project.org/2.0/docs/es6
A demo https://github.com/aruntk/kickstart-meteor-polymer-with-app-route/tree/2.0-preview
Imported es5-loader here. https://github.com/aruntk/kickstart-meteor-polymer-with-app-route/blob/2.0-preview/client/main.html#L7
webcomponents directory in public. https://github.com/aruntk/kickstart-meteor-polymer-with-app-route/tree/2.0-preview/public/webcomponentsjs
The funny thing is if you include the Polymer adapter in an ES5 bundle, then the class
syntax breaks the ES5 bundle. This makes things really tricky. One way to solve it is to wrap the adapter in an eval, and run it only in es6 environments, but this has drawbacks too. There's other techniques to get it to work everywhere.
Ultimately, I abandoned using it in favor of the excellent document-register-element by @WebReflection, which is much easier to get working everywhere, therefore easier to distribute. The only caveat is that you need to write an adapter class, see part in the README, but otherwise end users don't notice anything, and can use your custom elements everywhere. You'll end up getting this working in a single-bundle-everywhere much faster than with Polymer's adapter (at least that was my experience).
First of all I would like to apologise for this rather unqualified bug report, but I'm really stuck and don't know if this is due to changes in Meteor 1.5 or Polymer 2.0 (or both).
Here are the steps to reproduce this:
meteor create --bare polymer-test
meteor remove static-html && meteor add mwc:synthesis
mkdir client && mkdir imports
bower install
http://localhost:3000
meteor
In the browser console I get the following errors:
Any help is greatly appreciated - maybe I'm doing something wrong?