2017-11-06 5 views
5

私は最新のバージョンのangular-cliをインストールし、新しいプロジェクト(ng new my-app)を作成しました。これにより、Angularのロゴ付きの常にスタイリッシュな「Welcome to App」と、Tour of Heroes、CLI Documentation、Angularブログへのリンクが作成されます。私はこれを提供し、ChromeとFirefoxを使用してWindowsマシンでローカルにアクセスできます。デフォルトAngular-CLIプロジェクトはSafari - 犯人厳格モードで失敗しますか?

これは、私がBrowserstackを通じて同じローカルにホストされているアプリケーションにアクセスしようとすると奇妙になります。私がSafari 11を走らせているMacからそれを打つと、すべてが正常に動作する。

Safari 10以降を実行しているMacデバイス(iPadなど)からアクセスしようとすると、アプリケーションが読み込まれず、エラーメッセージ "SyntaxError:Unexpected keyword 'const'が表示されます。Const宣言はstrictモードでサポートされています "。このエラーメッセージは、私のvendor.bundle.js(eval)の場所に結び付けられています。

厳密なモードが有効な場合、以前のバージョンのSafariはconstでうまくいきません。しかし、私は回避策があることを望んでいます。

他の人はどう対処していますか?私は角の専門家ではないので、明白な解決策があれば、それを見ていないことを謝罪します。

ご協力いただければ幸いです。

答えて

4

私は同じ問題があります。 webpack-dev-server(@ angular/cliでフードの下で使用される)の問題で、ES6機能を使用しており、転送されていないようです。

これは古いバージョンのSafariでの問題ですが、古いSafariバージョンでテストする場合は、Safariを更新することはできません。

一時的な回避策は、それをインストールし、角度/ cliディレクトリー@ローカルに手動でコピーしてwebpack-dev-serverのための古いバージョンを使用することです:

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

ありがとうダーク!いくつかの味:https://github.com/webpack/webpack-dev-server/issues/1105 – STH

1

のdevのサーバーの原因の新しいバージョンのES6機能これは、具体的には、ライブリロード機能です。

フラグ--no-live-reloadを渡すと、何かをダウングレードする必要なく古いデバイスでテストすることができます。

例:ng serve --no-live-reload

関連する問題