繁体   English   中英

Webpack ES6 模块多类应用程序组织

[英]Webpack ES6 modules multiple class app organization

我是第一次用 webpack 构建一个应用程序,我正在努力组织类文件。 我无法使代码正常工作。 我还是 ES6 的新手,所以我下面的代码可能非常错误,但我不确定它是我的方法/概念还是我的语法。

条目是index.js ,我也有这些文件

import App from './js/app.js';
import User from './js/user.js';
import Guest from './js/guest.js';

const app = new App();
const user = new User();
const guest = new Guest();

$(document).ready(function () {
    app.DatabaseStore.senddata();
    console.log( user.getall() );
});

src/js/app.js主要的全局方法/变量类

import CookieStore from './cookie.js';
import DatabaseStore from './database.js';

export default class App {
    constructor() {
        this.cookieStore = new CookieStore();
        this.databaseStore = new DatabaseStore();
    }
    gettime() {
        return 'time';
    }
}

src/js/user.jsusers方法

import App from './app.js';

export default class User extends App {
    constructor() {
        this.mydata = App.cookieStore.getData();
        console.log(this.mydata );
    }
    getall() {
        return ['foo', 'bar', 'baz'];
    }
}

src/js/guest.jsguests方法

import App from './app.js';

export default class Guest extends App {
    constructor() {
        this.mydata = App.cookieStore.getData();
    }
}

src/js/cookie.js cookie 操作方法

export default class CookieStore {
    constructor() {}
    mydata() {return 'foo';}
}

src/js/database.js firebase 方法

export default class DatabaseStore {
    constructor() {}
    senddata() {
        this.mydata = App.cookieStore.getData();
    }

您正在尝试静态访问实例属性。 在尝试访问cookieStore属性之前,您需要创建App类的实例。 您可以创建一个实例并将其导出到您的 app.js 中以获得单例实例。

//in your app.js 
export const app = new  App();

在其他文件中

import {app} from './js/app.js'

app.cookieStore.getData();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM