2017-01-07 2 views
0

그래서 Webpack에서 수퍼 클래스를 확장하는 하위 클래스에 문제가 있습니다.Webpack에서 가져온 모듈에서 ES6 상속

내 슈퍼 클래스 : 코어/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”? 도움이되지 않았습니다. export class Main {}module.exports을 교환하고 import {Main} from 'core/Main.js'require('core/Main.js')을 교환했지만 작동하지 않았습니다. webpack 1.14.0 사용.

+0

상속은 webpack과 아무 관련이 없습니다. 귀하의 질문은 실제로 "어떻게 webpack을 사용할 때 모듈을 올바르게 가져 오나요"와 같은 것입니까? –

답변

0

알 수 있습니다. app/Main.js을 복사했으며이를 요구했습니다. 지금은 잘 작동하지만, 왜 그것이 차이를 만들 었는지 모르겠다.

+0

프로젝트 구조가 무엇인지 모르겠지만 응용 프로그램과 코어 폴더가 같은 수준에 있다면 Launch.js 파일에서 Main.js를 요구하는 경로가 잘못되었습니다. '../core'여야합니다. /Main.js ' –

+0

구조는 src/app와 src/core입니다. 내가 require ('app/file') require ('core/file')을 호출 할 수 있도록 config에 컨텍스트를 src로 설정했는데 -이 컨텍스트가 내 프로젝트의 다른 모든 것에 대해 작동하지만 src/core의 경우. –

관련 문제