首页 > 解决方案 > 如果我在 JavaScript 中使用 import *,如何访问类名?

问题描述

头部内部index.html

<script src="main.js" type="module"></script>

user.js文件:

export default class User {

    constructor(name, age){
        this.name = name;
        this.age = age;
    }

}

export function printName(user) {
    console.log(`User's name is ${user.name}`);
}

export function printAge(user){
    console.log(`User is ${user.age} years old`);
}

main.js会起作用:

import User, { printName, printAge } from '/user.js'
const user = new User('Bob', 11);
console.log(user)
printName(user)

但这不起作用,因为它无法识别导出的类

// name User if I use `import *` to import everything:
import * as MyUser from '/user.js'
const user = new MyUser.User('Bob', 11);
console.log(user)
printName(user)

这是我得到的错误:Uncaught TypeError: MyUser.User is not a constructor

标签: javascriptes6-modules

解决方案



推荐阅读