Webpack 导出要在父文件中使用的类
所以我在Webpack 导出要在父文件中使用的类,webpack,Webpack,所以我在Errors.js export default class Errors { constructor() { this.errors = {}; } has(field) { return this.errors.hasOwnProperty(field); } any() { return Object.keys(this.errors).length > 1; } g
Errors.js
export default class Errors
{
constructor() {
this.errors = {};
}
has(field) {
return this.errors.hasOwnProperty(field);
}
any() {
return Object.keys(this.errors).length > 1;
}
get(field) {
if(this.errors[field]){
return this.errors[field][0]
}
}
record(errors) {
this.errors = errors;
}
clear(field) {
delete this.errors[field];
}
}
在我的app.js中,我试图调用Errors类来使用其函数,如下所示:
import Errors from './errors.js';
尝试使用错误和控制台日志记录时,请执行以下操作:
console.log(Errors)
console.log(Errors.record({'name': 'test'}))
我得到以下信息:
如何访问app.js中的Errors类以及app.js文件中包含的所有文件?javascript中的类与其他语言(如java)上的类的工作方式相同 尝试访问
错误。记录告诉引擎访问错误类中的静态方法。这就是你想做的吗?我不这么认为
只需遵循类在其他语言上工作的相同方式
import Errors from './errors.js';
const Error = new Errors();
console.log(Error.record({}));
这是有道理的,但是为什么有些包我可以直接导入,而不用启动类就可以工作呢?好问题。你能举一个例子,让我们看看有什么不同吗?例如,对于vue,你可以导入它,然后在创建类实例之前访问vue.Component:哦,你说的是定义一个组件和在“Html”上定义一个组件吗?如果是,这是vue的特殊性,我不知道vue是如何在后面实现的。但考虑到纯javascript,我的答案仍然有效。