その中にコンストラクターを持つ関数があります。新しいオブジェクトを作成して返します。
function car() {
function Car() {}
return new Car();
}
その結果、uglify は Car の名前を何らかの文字に変更し、これが返されると、オブジェクト名が単なる文字のように見えます。たとえば、クロムでは、オブジェクトのタイプは「t」であると表示されます。
一部の関数の名前を保持するようにuglifyに指示する方法はありますか?
その中にコンストラクターを持つ関数があります。新しいオブジェクトを作成して返します。
function car() {
function Car() {}
return new Car();
}
その結果、uglify は Car の名前を何らかの文字に変更し、これが返されると、オブジェクト名が単なる文字のように見えます。たとえば、クロムでは、オブジェクトのタイプは「t」であると表示されます。
一部の関数の名前を保持するようにuglifyに指示する方法はありますか?
reserved-names
次のパラメーターを使用する必要があります。
--reserved-names “Car”
Bill の提案に従ったとしても、あなたのアプローチにはまだ問題があります。
car().constructor !== car().constructor
それらは等しいと予想されます
コンストラクターを作成して Factory コンストラクターを与えるアプローチを変更します
/** @private */
function Car() {
...
}
Car.create = function() {
return new Car();
}
または、Bill のアプローチと組み合わせた次の (モジュール パターン)。次に、毎回異なるプロトタイプを持つオブジェクトを返すわけではありません
var car = (function() {
function Car() {...}
return function() {
return new Car();
}
})();
// car().constructor === car().constructor // true