2016-10-21 4 views
0
'use strict'; 
/** 
* PortalHTML.js 
*/ 

import SingleContextHTML from './SingleContextHTML'; 
import MultiContextHTML from './MultiContextHTML'; 

export default class PortalHTML{ 
    constructor (type) { 
      switch(type) { 
     case "1": 
      this.portalStrategy = new SingleContextHTML(); 
      break; 
     default: 
      this.portalStrategy = new MultiContextHTML(); 
      break; 
      } 
    } 

    render (...args) { 
     this.portalStrategy.renderHTML(args); 
    } 

    _strategyPeak(){ 
     return this.portalStrategy.constructor.name; 
    } 
} 

/** 
* SingleContextHTML.js 
*/ 
'use strict'; 

import PortalHTMLStrategy from './PortalHTMLStrategy'; 

export default class SingleContextHTML extends PortalHTMLStrategy { 
    constructor(){ 
      super() 
    } 
    renderHTML(args){} 
} 

/** 
* Multi.js (same as single) ^^ above 
*/ 

/** 
* PortalHTMLStrategy.js 
*/ 
'use strict'; 

export default class PortalHTMLStrategy{ 
    constructor(){} 

    renderHTML(args){} 
} 

/** 
* Tester Mocha and Chai 
*/ 

'use strict'; 

import PortalHTML from "./PortalHTML"; 
import chai from 'chai'; 

let basicPortalHTMLTest =() => { 
    let singleContextHTML = new PortalHTML("1"); 
    let multiContextHTML = new PortalHTML("multi"); 
    describe('PortalHTML: Initialization of PortalHTML',() => { 
     it('Should be an instance of class SingleContextHTML', (done) => { 
      chai.expect(singleContextHTML._strategyPeak()).to.equal('SingleContextHTML'); 
      done(); 
     }); 

     it('Should be an instance of MultiContextHTML', (done) => { 
      chai.expect(singleContextHTML._strategyPeak()).to.equal('MultiContextHTML'); 
      done(); 
     }); 
    }); 
}; 

basicPortalHTMLTest(); 

Я пытаюсь проверить реализацию шаблона стратегии, но я бегу в ошибку, которая гласит следующее после я запускаю мой тестовый скрипт с мокко.Тип ошибки на Transpiling Babel class.default не является конструктором

var singleContextHTML = new _PortalHTML2.default("1"); 
            ^        
TypeError: _PortalHTML2.default is not a constructor 

Я использую node6 и следующие пакеты Бабеля:

"babel-cli": "^6.14.0", 
    "babel-core": "^6.17.0", 
    "babel-loader": "^6.2.4", 
    "babel-preset-es2015": "^6.16.0", 
    "babel-preset-react": "^6.11.1", 
    "babel-preset-stage-2": "^6.11.0" 

Я пытался отладить это около половины дня. Если кто-нибудь увидит что-то сразу же, что я делаю, я буду чрезвычайно благодарен.

+0

'import PortalHTML from" PortalHTML ";', как представляется, содержит неправильный идентификатор модуля. –

+0

Вы имели в виду 'из './ProtalHTML" '? – azium

+0

Да, для примера этой игрушки, в моем фактическом коде структура каталогов верна. Я обновился, чтобы предотвратить путаницу. Извини за это – moon

ответ

0

Я использовал неправильную предустановку Babel. Переключение на es2016 или выше фиксировало эту ошибку.