如何安装 polyfill aurelia

How to install polyfill aurelia

我正在使用 aurelia-validation 插件,当出现错误时我想使用他们的 BootstrapFormRenderer:https://aurelia.io/docs/plugins/validation#custom-renderers

我真的需要让它在 IE 11 上工作,正如他们所说,我需要 polyfill 才能让它工作。

我如何安装 polyfill 并在 aurelia 中使用它以使其与 IE 11 一起工作? 这是 polyfill 的 link:https://github.com/jonathantneal/closest

根据您的评论,我可以基于使用 Aurelia CLI 和 RequireJS 作为您的模块来回答您的问题 loader/bundler。

您需要做的第一件事是使用 NPM 安装 polyfill。

 npm install --save element-closest

完成此操作后,您需要更新 aurelia.json 文件。它位于 aurelia_project 文件夹中。如果您仍在使用 运行 au new 时提供给您的相同设置,那么将配置两个包,app-bundle.jsvendor-bundle.jsvendor-bundle 配置有一个 prepend 属性 已经配置了一些东西。 prepend 部分是你想要放置你的 polyfill 的地方,因为模块打包器会简单地 copy/paste 将带有 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 buildau run,这就是我的 scripts/vendor-bundle.js 文件的开头:

原回答如下:

你问这个问题已经一周了,还没有答案。原因是你的问题非常模糊。

答案取决于您在构建应用程序时使用的模块 loader/bundler。你在使用 Aurelia CLI 吗?如果是这样,您使用的是 RequireJS 还是 Webpack?

请注意,这并不是真正的 Aurelia 问题,而是关于您正在使用的任何捆绑器的问题。另外请注意,作为最后的手段,可以使用脚本标签简单地加载 polyfill。