나는 클라이언트가 angular2에서 자신의 웹 사이트에로드 할 수있는 "위젯"을 만들었습니다. 예 :angular2/webpack에서 es6 브라우저 shim 적용
<some-name config="clientcode"></some-name>
가 등 좀 더 설정되는 관련 아니지만, 값은 기본 요소에서 가져온되는 모든뿐만 아니라 고대의 브라우저에서 잘 작동하는 것 같다. 이 조각의
Object.extend(Function.prototype, {
argumentNames: function() {
var a = this.toString().match(/^[\s\(]*function[^(]*\(([^\)]*)\)/)[1].replace(/\s+/g, "").split(",");
return 1 != a.length || a[0] ? a : []
},
bind: function() {
if (2 > arguments.length && Object.isUndefined(arguments[0]))
return this;
var a = this
, b = $A(arguments)
, c = b.shift();
return function() {
return a.apply(c, b.concat($A(arguments)))
}
}, ... });
내 angular2 위젯이 충돌이 특히 마지막 4 개 라인 (안 정말 : 그들과 같이이 있다면
그러나 하나의 클라이언트는 확인하지 않고 모든 공상 polyfills/심 (사용 마지막 하나도)재미있는 부분은 내가 모두을 굴려야 만하는 RC5에서 작동했다는 것입니다. 만약 누군가가 내 클라이언트의 프로필을 덮어 쓰는 shim을 포함하도록 angular2/webpack을 강제 할 수 있는지 알고 있습니까? 기존 웹 사이트에 항상 삽입되어 작동하는지 확인하십시오. 약간 부 풀릴 수 있지만이 경우에는 웹 사이트/서비스 사용자가 한 달에 한 번 또는 일주일에 한 번 사용할 것이기 때문에 엄청난 거래가 아닙니다.
무엇을 내 angular2 위젯이 * 충돌이 특히 마지막 4 개 라인 이 스 니펫 *은 의미하기로되어 있습니다. 오류가 있으면 게시하십시오. – estus
내가 다시 빌드 할 수 있는지, 스택 오버 플로우가 발생했는지를 알 수있다 (반환 a.apply). 기본적으로 Function.bind 또는 Function.apply의 구현이 잘못되었습니다. 그러나 나는 익명으로 줄기를 만들 수 있는지 보겠습니다. –