I created an element that I will simplify here for brevity, and would like to do an end-to-end process and see if it works.
This is the 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 loaded it into my test repo and opened a new project in WebStorm.
I did bower install test-element and it also downloaded the policy directory, which is a dependency, as I wanted, although there are no js files there. (Shouldn't there be a polymer.js file for reference?)
Now my index file that is loading 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:
Unprepared SyntaxError: Failed to execute 'registerElement' on "Document": registration error for type "undefined". Type name is not valid.
I have tried many posts and I donβt see what I am missing here. I load webcomponents.js before importing the HTML element file.
So, 2 questions:
- Why does this error occur and what am I doing wrong?
polymer.js I missing polymer.js ? If so, why is it not loading as part of the dependency? - If I have many elements, do I need to include
polymer.html in each of them, or can I just upload it once to the index.html file?