I created an element which which I'll simplify here for brevity, and I wanted to do an end-to-end process and see if it works.
This is its bower.json file:
{
"name": "test-element",
"version": "0.0.1",
"authors": [
"my name"
],
"description": "A description",
"license": "MIT",
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"polymer": "~0.9.0"
}
}
I uploaded it to my test repo, and opened a new project in WebStorm.
I did bower install test-element
and it also downloaded the polymer directory which is the dependency, as I wanted, though there are no js files there. (Shouldn't there be a polymer.js
file to reference?)
Now, my index file that loads has this in the body:
<script src="bower_components/webcomponentsjs/webcomponents.js"></script>
<link rel="import" href="bower_components/test-element/test-element.html">
<test-element
elements="[...array contents...]">
</test-element>
And my test-element.html
:
<link rel="import" href="../../../polymer/polymer.html">
<polymer-element name="test-element" ....>
<template>
... doesn't really matter ...
</template>
<script>
Polymer({
created: function () { .. }
});
</script>
</polymer-element>
But when I load the page I see this in the console:
Uncaught SyntaxError: Failed to execute 'registerElement' on 'Document': Registration failed for type 'undefined'. The type name is invalid.
I tried many posts, and I can't see what I'm missing here. I'm loading the webcomponents.js
before importing the element's HTML file.
So 2 questions:
polymer.js
? If so, why didn't it download as part of the dependency ?polymer.html
in each of them or can I just load it once in the index.html
file?Before:
<polymer-element name="register-me">
<template>
<div>Hello from my local DOM</div>
</template>
<script>
Polymer();
</script>
</polymer-element>
After:
<dom-module id="register-me">
<template>
<div>Hello from my local DOM</div>
</template>
</dom-module>
<script>
Polymer({is: "register-me"});
</script>
Uncaught SyntaxError: Failed to execute 'registerElement' on 'Document': Registration failed for type 'undefined'. The type name is invalid.
because you are using polymer core elements that are compatible with Polymer 0.5 with Polymer 0.9. Along with polymer 0.9 the polymer elements are also upgraded. Follow this post to install the new elements.
Note: The core-elements are scrapped in polymer 0.9 and replaced with iron elements.
To properly install Polymer 0.9 include these lines in your bower.json
"dependencies": {
"polymer": "Polymer/polymer#^0.9.0"
}
and use this terminal command $ bower install
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With