私の Grunt/yeoman/angular プロジェクトでは、コードの一部をノード モジュールとして記述し、ビルド プロジェクト中に browserify で Grunt によってインポートしました。safari (7 と 8 でチェック) でのみ、このエラーが原因で webapp の縮小版が機能しないことがあります。
SyntaxError:厳密モードでは「k」という名前のパラメーターを宣言できません
コード行が次の行であることを発見しました。
c.prototype.key=function k(k){var a=this._baseState;return f(null===a.key),a.key=k,this}
開始コードは次のとおりです。
Node.prototype.key = function key(key) {
var state = this._baseState;
assert(state.key === null);
state.key = key;
return this;
};
それが browserify ライブラリの一部であるかどうかはわかりませんが、mathjs をプロジェクトに追加すると含まれていることは確かです。uglifyJS mangle オプションで「key」という単語を予約してみましたが、「key」も予約語です。
どうすればこの種の問題を回避できますか? 間違ったアプローチを使用していますか?
編集: asn1 lib で関数を見つけましたhttps://github.com/indutny/asn1.js/blob/master/lib/asn1/base/node.js#L225 今、どうすればよいかわかりません。
編集:ライブラリの作成者は問題をすぐに修正しました:)