Closed krsbx closed 2 years ago
@krsbx that's odd! even if you import a file with an @component
decorator multiple times, the component should only be registered once. Can you share the component definition that's throwing this error?
And is it possible that you've either got two components with the same a-node
name, or are using both the @component("a-node")
decorator, and an AFRAME.registerComponent("a-node"
call?
@krsbx ah-hah! I cloned your repo, and I think the issue is that this library is relying on the aframe
node_module, but your index.html
is also doing <script src="https://aframe.io/releases/1.3.0/aframe.min.js"></script>
, so you end up with two copies of Aframe, which are conflicting with each other.
One solution is to remove the <script>
tag and just rely on the NPM dependency, which seems to work without any errors.
If you want to keep pulling aframe in as a script tag instead, you can also add externals: { aframe: 'AFRAME' }
to your webpack config (that's how we're doing it on the project I'm using this on right now). It looks like you're using Vite, so you may need to use something like https://github.com/lceric/vite-plugin-resolve-externals or https://github.com/crcong/vite-plugin-externals (I'm haven't used Vite recently so I'm not up-to-date on the best libraries) if you go down the externals path.
Hope that helps, and I'm going to add a note in the docs about this!
is it registering the component twice? even though i only import the file once