0
私は私のプロジェクトで試作品を使用します。Javascriptの競合
NodeParser.prototype.getChildren = function(parentContainer) {
return flatten([].filter.call(parentContainer.node.childNodes, renderableNode).map(function(node) {
var container = [node.nodeType === Node.TEXT_NODE && !(node.parentNode instanceof SVGElement) ? new TextContainer(node, parentContainer) : new NodeContainer(node, parentContainer)].filter(nonIgnoredElement);
return node.nodeType === Node.ELEMENT_NODE && container.length && node.tagName !== "TEXTAREA" ? (container[0].isElementVisible() ? container.concat(this.getChildren(container[0])) : []) : container;
}, this));
};
私たちは、私たちのプロジェクトに私たちのクライアントのJavaScriptファイルを追加する必要があります。我々のコードで
Array.prototype.map = function(fnc) {
//code block
}
マップ、それらへの復帰Array.prototype.map
:彼らはこのようなコードを持っています。どのように私はそのような競合を防ぐことができます
この競合はローカルでのみ発生します。プロダクションでは、矛盾の問題はありません。
永遠Monkeypatchers戦争を開始するためにその実施をモンキーパッチprebinded機能
、あるいはを渡すことを確認することができます「どのようにしてこのような紛争を防ぐことができますか?これらの人にネイティブ関数のオーバーライドを止めるよう伝えてください。 –
Mapは配列クラスのネイティブメソッドです。これをオーバーライドすると競合が発生しますArrayクラスのメソッドを追加するには別の名前を使用してください –
@YeldarKurmangaliyev私は知っていますが、クライアントであるので、 ) – TheNone