こんにちは、このプロジェクトを開発者モード(gruntサーバー)で実行すると https://github.com/kennethlynne/generator-angular-xl すべて正常ですが、プロダクションモード(gruntビルド)で実行すると私は `
キャッチされていないSyntaxError:ストリクトモードコードでは、関数はトップレベルまたは別の関数内でのみ宣言できます
誰が何が起こっているのか知っていますか?おかげで、
Ps。 JSは多くのファイルに分割されているため、コードではなくプロジェクトへのリンクを投稿しました。
私が問題を解決した方法は、'use strict'
それは、最終的な縮小スクリプトのjqueryの上にありました。別の方法は、厳密なバグなしでjQueryのバージョンを1に変更することです。
編集:結局のところ、それはバージョン1.11でのjQueryの縮小エラーでした。これを簡単に修正するには、Gruntファイルに移動して行をコメント化します
banner: "'use strict';\n"
これは、エラーメッセージの内容です。
関数は、最上位または別の関数内でのみ宣言できます
必須ではありません ifステートメントやforループなど、他のブロック内に関数宣言を配置します。
例:
'use strict';
function some() {
function okay() {
}
let x = 1;
function no_problem() {
}
if (x == 1) {
function BOOM() { // <- wrong!
}
}
}
上記の誰かが提案したように、'use strict';
部分のコメントを外すか、関数構文を変更することもできます
の代わりに
function funcName (param) { }
使用する
funcName = function(param) {};
正しい答えに加えて、これは特定のシナリオでのFireFoxのバグである可能性もあります。
1人のユーザーのマシンでこのエラーメッセージが表示されました。 JavaScriptファイルにはuse strict
linebelowこのエラーをスローしたメソッド(これによる影響はありません)
それはたまたまFireFoxバージョン45.9.0(そしておそらく古いバージョンも)の問題でした。 Firefoxを最新バージョン(現在は52.4)に更新すると、問題が解決しました。