Aframe A型架组件没有';不能使用ES6模块吗?

Aframe A型架组件没有';不能使用ES6模块吗?,aframe,ar.js,Aframe,Ar.js,我想在AFRAME组件的init函数中调用另一个javascript文件(a.js)中的某个函数(foo) 在my index.html中,类似以下内容: <script type="module"> import {foo} from "a.js"; AFRAME.registerComponent('registerevents', { init: function () { foo(); } } } <scr

我想在AFRAME组件的init函数中调用另一个javascript文件(a.js)中的某个函数(foo)

在my index.html中,类似以下内容:

<script type="module">
    import {foo} from "a.js";
    AFRAME.registerComponent('registerevents', {
     init: function () {
         foo();
     }
    }
}
<script type="module" src="a.js"></script>
<script>
    AFRAME.registerComponent('registerevents', {
     init: function () {
         foo();
     }
    }
}
在my index.html中:

<script type="module" src="a.js"></script>
<script>
    AFRAME.registerComponent('registerevents', {
     init: function () {
         window.foo();
     }
    }
}

AFRAME.registerComponent('registerevents'{
init:函数(){
window.foo();
}
}
}
然后我得到一个window.foo不是一个函数错误。 在init函数中调用函数的正确方法应该是什么?
谢谢!

模块和A-Frame工作正常。问题是在实体上设置组件之前不会调用该方法。例如,您可以在
A-scene上设置它,如下所示:

<script type="module">
    import {foo} from './a.mjs';
    AFRAME.registerComponent('registerevents', {
     init: function () {
         foo();
     }
    }); 
    AFRAME.scenes[0].setAttribute('registerevents','');                         
</script>


工作示例:

我怀疑您关于a-frame和模块不能很好地协同工作的说法可能是正确的
init
如果组件未设置为可以工作的实体,则不会调用该方法!谢谢!a-frame.scenes[0].setAttribute('registerevents','')之间的区别是什么;
?我正在使用
,init没有被调用。啊,我现在知道为什么了。模块脚本在
之后被调用。现在一切都有意义了。谢谢!
<script type="module">
    import {foo} from './a.mjs';
    AFRAME.registerComponent('registerevents', {
     init: function () {
         foo();
     }
    }); 
    AFRAME.scenes[0].setAttribute('registerevents','');                         
</script>


export function foo(){ console.log('Fooing is believing!')}