2017-09-12 26 views
0

IE8을 계속 지원해야하는 대규모 프로젝트에서 Webpack 2를 사용하고 싶습니다.IE8을 지원하는 Webpack 2 얻기

babel-preset-env을 설치 했으므로이 프로젝트에서 각 브라우저가 지원되지 않게되면 이후에 하나씩 Internet Explorer < 11을 쉽게 삭제할 수 있습니다.

babel-preset-env readme에 따르면 "IE 8 및 Chrome 55를 대상으로하는 경우 [babel-preset-env]에는 IE 8에서 필요로하는 모든 플러그인이 포함됩니다.

제가 이해하기에, IE5 심의 경우 대부분 babel-polyfill을 설치해야하지만, 사용하려는 ES6 및 7 기능의 폴리필도 설치해야합니다.

이러한 것들을 설치했지만 내 코드는 여전히 Object.defineProperty(__webpack_exports__, "__esModule", { value: true });이 실행되는 지점 인 IE8 (Browserstack)에 넘어집니다. 내가 생각한 기능은 심에 의해 '고정'되었다.

올바르게 잘리지 않는가요? 단계를 놓친 적이 있습니까?

답변

0

나는 이전에 같은 문제가 있었는데 여기에 내가 풀려고했던 것이있다. ES6 기능에

,

클래스는 GET과 속성을 정의하고 필드를 캡슐화 설정할 수 있습니다.

하지만 IE8에서는 걱정할 필요가 없습니다. defineProperty 방법이

see the docs,을 지원하지 않기 때문에

그래서 우리는 아래

let val1; 

class className { 

    methodName() { 
     this.val2 = 'test'; 
     //code here 
    } 

    getVal1() { 
     return val1; 
    } 

    setVal1(_val1) { 
     val1 = _val1; 
    } 

    getVal2() { 
     return this.val2; 
    } 

    setVal2(_val2) { 
     this.val2 = _val2; 
    } 
} 

module.exports = className; 

을 좋아하는 전체 코드 패턴을 변경하고 난 당신 웹팩에 see the link,github es3ify 추가 'es3ify가'/ 8 IE7을 위해 구축하는 것이 좋습니다