如何在另一个JS文件中使用一个JS文件中的类?

时间:2019-10-15 13:13:11

标签: javascript

我正在尝试使用 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());

我在做什么错了?

2 个答案:

答案 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';