我正在尝试使用 B.js 文件中的 A.js 文件中的类, 我创建了 A.js 类的实例,并尝试在 B.js 中调用其函数,但出现错误 说
未捕获的SyntaxError:无法在模块外部使用import语句
这是代码的样子:
A.js文件
export class A {
constructor() {
this.name = 'A'
}
getName() {
return this.name;
}
}
B.js文件
import A from './A.js';
const a = new A();
console.log(a.getName());
我在做什么错了?
答案 0 :(得分:1)
在文件 B.js 中,将导入内容从import A from './A.js';
更改为import { A } from './A.js';
有两种方法导出一个类或一个函数:
1)默认
2)命名
1)允许每个文件一次导出。导入的命名与原始导出的名称无关。
示例:
export default class A { } // A.js
import AComponent from './A';
2)允许每个文件多次导出。导入的名称必须与导出的名称相同。
示例:
export class A { } // A.js
import { A } from './A';
答案 1 :(得分:0)
如果使用不带keyword
的导入,则需要使用default
{}
。试试下面的代码-
export default class A {
constructor() {
this.name = 'A'
}
getName() {
return this.name;
}
}
或者您可以使用这样的别名-
import * as A from './A.js';