我正在研究Vue.js项目的代码。
在文件src/model/TextSegment.js
中,前两行是:
import UniqueObject from "./UniqueObject";
import { TimeCode } from "@/model";
文件UniqueObject.js
是同一目录中的类文件,因此我理解./
只是意味着同一个目录并加载此文件以便在TextSegment.js
中使用类。
但是文件TimeCode.js
也是同一目录中的一个类,虽然它是一个实例化的类,但我希望它用相同的语法加载,例如:
import TimeCode from "./TimeCode";
TimeCode
在波浪形的括号中?@
而不是.
作为目录?import uuidv4 from "uuid/v4";
class UniqueObject {
constructor(initial = {}) {
if (this.constructor == UniqueObject) {
throw TypeError("Cannot instantiate abstract class UniqueObject");
}
this.uuid = initial.uuid || uuidv4();
}
}
export default UniqueObject;
class TimeCode {
constructor(initials = {}) {
this.seconds = initials.seconds || null;
this.frame = initials.frame || null;
}
}
export default TimeCode;
import UniqueObject from "./UniqueObject";
import { TimeCode } from "@/model";
class TextSegment extends UniqueObject {
constructor(initials = {}) {
super(initials);
this.content = initials.content || "";
this.translation = initials.translation || "";
this.notes = initials.notes || "";
this.timecode_start = new TimeCode(initials.timecode_start || {});
this.timecode_end = new TimeCode(initials.timecode_end || {});
this.voice_id = initials.voice_id || null;
this.filename = initials.filename || "";
}
}
export default TextSegment;
答案 0 :(得分:1)
在JavaScript中有几种导入方式。这是最常见的两种。
WITH
导入默认导出变量。如果您打开 UniqueObject 文件,您很可能会看到类似import UniqueObject from "./UniqueObject";
的内容。
export default <var>
在 @ / model 的文件中导入import { TimeCode } from "@/model";
变量。如果您打开模型文件,您会看到TimeCode
。
export const TimeCode
与您的模块加载器有关,取决于您使用的模块加载器。