2017-01-07 2 views
0

Так что у меня проблемы с подклассами, расширяющими суперкласс в Webpack.ES6 Наследование из импортированного модуля в Webpack

Мой супер класс: ядро ​​/ Main.js

class Main { 
    constructor() { 
     console.log('Main Class Initialized'); 
    } 
} 

module.exports = Main; 

Подкласс: приложение/Launch.js

var Main = require('core/Main.js'); 
class Launch extends Main { 

    constructor() { 
     console.log('Before Super') 
     super(); 
     console.log('Launch Class Initialized') 
    } 
} 

Если я console.log(Main) внутри приложения/Launch.js файл он записывает Main и «Before Super» также регистрируются, но вызов super() заставляет его сломаться, и я понятия не имею, почему.

How to achieve inheritance in ES6 with “webpack module bundler”? не помогло. Я попытался заменить module.exports на export class Main {} и require('core/Main.js') на import {Main} from 'core/Main.js', но это не сработало. Использование webpack 1.14.0.

+0

Наследование не имеет ничего общего с webpack. Кажется, ваш вопрос на самом деле похож на «как правильно импортировать модули при использовании webpack»? –

ответ

0

Got it. Я скопировал Main.js в app/ и потребовал этого. Хорошо работает сейчас, не знаю, почему это изменило ситуацию.

+0

Я не знаю, какова структура вашего проекта, но если файлы приложений и основных файлов находятся на одном уровне, то путь, который вы используете в файле Launch.js для запроса Main.js, неверен, это должно быть «../core /Main.js ' –

+0

Итак, структура src/app и src/core. Где я устанавливаю контекст в config для src, чтобы я мог потребовать (app/file) требование («core/file»), которое контекст работает для всего остального в моем проекте, но по какой-то причине не в этом case с src/core. –

Смежные вопросы