我制作了这个“小部件”,客户可以在 angular2 中加载到他们的网站上。例如
<some-name config="clientcode"></some-name>
还有更多设置等,但这不相关,值是从本机元素中提取的,在古代浏览器上似乎也能正常工作。
然而,一个客户使用所有这些花哨的 polyfills/shims(不检查它们是否像这样:
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 行(虽然不是真正的最后一行)。
有趣的是,这一切都在 RC5 上工作,我不得不回滚到它。有谁知道我是否可以强制 angular2/webpack 包含这些垫片来覆盖我的客户?并确保它始终嵌入到现有网站中?它会导致一些膨胀,但在这种情况下,这并不是什么大不了的事,因为它是人们每月或每周使用一次的网站/服务。