我正在使用aurelia-validation插件,我想在出现错误时使用他们的BootstrapFormRenderer:https://aurelia.io/docs/plugins/validation#custom-renderers
我真的需要让它在IE 11上运行,因为他们说我需要使用polyfill来使其正常工作。
如何安装polyfill并在aurelia中使用它以使其与IE 11一起使用? 以下是polyfill的链接:https://github.com/jonathantneal/closest
答案 0 :(得分:1)
根据您的评论,我可以根据使用带有RequireJS的Aurelia CLI作为模块加载器/捆绑器来回答您的问题。
您需要做的第一件事是使用NPM来安装polyfill。
npm install --save element-closest
完成此操作后,您需要更新aurelia.json
文件。它位于aurelia_project
文件夹中。如果您仍在使用与运行au new
时相同的设置,则会配置两个捆绑包app-bundle.js
和vendor-bundle.js
。 vendor-bundle
配置具有prepend
属性,其中已经配置了一些内容。前置部分是您要放置polyfill的位置,因为模块捆绑器只是将带有polyfill的文件内容复制/粘贴到bundle文件的开头。它不会将它包装在模块或任何东西中,因此在运行时,polyfill代码将自动执行,如果需要则添加polyfill。我建议将polyfill添加为vendor-bundle
前置部分中的第一项。至少,它需要放在前置部分require.js
之前。您可以在下面看到一个示例:
"name": "vendor-bundle.js",
"prepend": [
"node_modules/element-closest/element-closest.js",
"node_modules/bluebird/js/browser/bluebird.core.js",
{
"path": "node_modules/aurelia-cli/lib/resources/scripts/configure-bluebird-no-long-stacktraces.js",
"env": "stage & prod"
},
{
"path": "node_modules/aurelia-cli/lib/resources/scripts/configure-bluebird.js",
"env": "dev"
},
"node_modules/requirejs/require.js"
],
执行此操作并运行au build
或au run
之后,这就是scripts/vendor-bundle.js
文件的开头:
下面的Orignal答案:
自从您提出问题以来已经过了一周,而且还没有答案。原因是你的问题非常模糊。
答案取决于您在构建应用时使用的模块加载器/捆绑器。您使用的是Aurelia CLI吗?如果是这样,您使用的是RequireJS还是Webpack?
请注意,这并不是Aurelia的问题,而是关于您使用的任何捆绑商的问题。另请注意,作为最后的手段,可以使用脚本标记简单地加载polyfills。