2016-03-13 4 views
2

Невозможно достичь наследования в классах ES6, когда импорт два файла с использованием модуля WebPack Bundler с ВавилонскойКак добиться наследования в ES6 с помощью «пакета веб-пакетов»?

Моя структура каталогов выглядит

My directory structure look like this

webpack.config.js выглядит

module.exports = { 
    entry: "./entry.js", 
    output: { 
    path: __dirname, 
    filename: "bundle.js" 
    }, 
    module: { 
    loaders: [ 
    { 
     loader: "babel-loader", 
     // Only run `.js` and `.jsx` files through Babel 
     test: /\.jsx?$/, 
     // Options to configure babel with 
     query: { 
     presets: ['es2015'], 
     } 
    }, 
    ] 
    } 
}; 

Entry.js выглядит как

import './content.js'; 
import './content1.js'; 

content.js выглядит

export class addition { 
    constructor(){ 
    this.x = 10 ; 
    } 
} 

content1.js выглядит

class subtraction extends addition{ 
    constructor(){ 
    super(); 
    this.y = this.x - 5 ; 
    } 
} 

var inst = new subtraction(); 
console.log(inst.x, inst.y) 

после генерации bundle.js с WebPack и запустить index.html: Получение ошибки как enter image description here

НЕЗЛОЕ помогите мне разобраться, как добиться наследования в ES6 с помощью пакета модулей webpack.

ответ

2

Каждый модуль должен импортировать все его зависимости:

import {addition} from './content'; 

class subtraction extends addition { 
    // ... 
} 
+0

большое спасибо ... это работа (Y) – coder