我的代码如下:
// Thing.js
export class Thing{
constructor(){
console.log("This thing is alive!!!!");
}
}
// index
import("./Thing.js").then(
(Thing)=>{
new Thing();
}
)
但是我得到的是
VM662 script.js:5未捕获(承诺)TypeError:事情不是构造函数
答案 0 :(得分:2)
您的问题是您正在尝试阅读Thing,好像它是默认导出而不是命名导出。这些都可以使用:
// Thing.js
export class Thing{
constructor(){
console.log("This thing is alive!!!!");
}
}
// index
import("./Thing.js").then(
({Thing})=>{ // NOTE destructuring since Thing is a named export
new Thing();
}
)
或这个
// Thing.js
export default class Thing{ // NOTE default
constructor(){
console.log("This thing is alive!!!!");
}
}
// index
import("./Thing.js").then(
(Thing)=>{ // No destructuring needed, can read Thing directly
new Thing();
}
)
答案 1 :(得分:0)
import
不是函数。这样做:
const { Thing } = import "./Thing.js";
let myThing = new Thing();