2017-11-06 4 views
5

가장 최근 버전의 angular-cli를 설치하고 새로운 프로젝트 (ng new my-app)를 만들었습니다. 이것은 Angular 로고가있는 항상 세련된 "Welcome to App"과 Tour of Heroes, CLI Documentation 및 Angular 블로그를 만듭니다. 이 서비스를 제공하고 Chrome 및 Firefox를 사용하여 Windows 컴퓨터에서 로컬로 액세스 할 수 있습니다.Safari에서 기본 Angular-CLI Project가 실패 함 - 범인 엄격 모드?

이상한 경우는 Browserstack을 통해 동일한 로컬 호스팅 된 앱에 액세스하려고하는 경우입니다. Safari 11을 실행하는 Mac에서 실행하면 예상대로 작동합니다.

Safari 10 이상을 실행하는 Mac 기기 (예 : iPad)를 통해 액세스하려고하면 앱이로드되지 않고 'SyntaxError : 예상치 못한 키워드'const '라는 오류 메시지가 표시됩니다. Const 선언은 엄격 모드에서 지원됨 ". 오류 메시지는 내 vendor.bundle.js (평가에서) 위치에 묶여 있습니다.

내 독서에서 엄격 모드가 사용되는 경우 이전 버전의 Safari가 const와 잘 작동하지 않는 것으로 보입니다. 그러나 해결 방법이 있기를 바라고 있습니다.

다른 사람들이 어떻게 처리합니까? 나는 각성 클리 전문가가 아니므로 분명한 해결책이 있다면 그것을 보지 못한 것에 대해 사과드립니다.

도움을 주시면 감사하겠습니다.

답변

4

동일한 문제가 있습니다. webpack-dev-server (@ angular/cli에 의해 후드 아래에서 사용됨)에서 문제가 발생하여 ES6 기능을 사용하며 이동되지 않습니다.

이것은 이전 버전의 Safari에서만 발생하는 문제이지만 이전 Safari 버전에서 테스트하려는 경우 Safari를 업데이트하는 것은 해결책이 아닙니다.

임시 해결 방법을 설치하고 지역에 수동으로 복사하여 webpack-dev-server에 대한 이전 버전을 사용하는 것입니다 @ 각도/CLI 디렉토리 : dev에 서버 원인의 최신 버전의

yarn add [email protected] --dev 
cp -R ./node_modules/webpack-dev-server ./node_modules/@angular/cli/node_modules/ 
./node_modules/.bin/ng serve 
+0

재미있는! 해결 방법은 무엇을 설명 할 수 있습니까? –

+0

감사합니다. Dirk! 좀 더 풍미 : https://github.com/webpack/webpack-dev-server/issues/1105 – STH

1

ES6 기능 더 구체적으로는 라이브 리로딩 기능입니다.

--no-live-reload 플래그를 전달하면 아무 것도 다운 그레이드하지 않고도 구형 장치에서 테스트 할 수 있습니다. 예를 들어

: ng serve --no-live-reload