我目前正在使用ecmascript 2015重写我的一个项目。 我有一个module.js文件,其中有两个类。我想在两个文件中使用这些类(index.php和page.php,这是index.php中包含的动态生成的页面)。
我的树文件如下:
/..
modules.js // Where I store my classes
page.php // This also contains a <script> part in which I would like to use my classes
index.php // Where I import my .js files
script.js // Where I would also like to use my classes
我已经将我的类导入了index.php文件中,如下所示:
<script type="module" src="js/modules.js">
import * from "./js/modules.js"
</script>
<script src="script.js"></script>
我的模块文件如下:
export { Blabla1 , Blabla2 };
class Blabla1 {
constructor(......) {
.....
}
class Blabla2 {
constructor(......) {
.....
}
}
问题是我无法初始化在script.js和page.php中导入的任何类并陷入困境:
ReferenceError: Blabla1 is not defined
如果有人对我的问题有任何猜想,我将不胜感激
答案 0 :(得分:0)
如果要将类从one.js文件导出/导入到another.js文件,则应在下面使用此代码。
export class Person {
static logme() {
console.log('Hi');
}
}
然后从另一个.js文件中调用它
import Person from './another.js';
console.log(Person.test());
答案 1 :(得分:0)
理想情况下,这应该可行:
<script type="module">
import { Blabla1, Blabla2 } from './js/module.js';
var bla1 = new Blabla1();
</script>`
export { Blabla1 , Blabla2 };
class Blabla1 {
constructor() {
console.log('In Blabla1');
}
} // It's missing
class Blabla2 {
constructor() {
console.log('In Blabla2');
}
}