如何安装 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.js
和 vendor-bundle.js
。 vendor-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 build
或 au run
,这就是我的 scripts/vendor-bundle.js
文件的开头:
原回答如下:
你问这个问题已经一周了,还没有答案。原因是你的问题非常模糊。
答案取决于您在构建应用程序时使用的模块 loader/bundler。你在使用 Aurelia CLI 吗?如果是这样,您使用的是 RequireJS 还是 Webpack?
请注意,这并不是真正的 Aurelia 问题,而是关于您正在使用的任何捆绑器的问题。另外请注意,作为最后的手段,可以使用脚本标签简单地加载 polyfill。
我正在使用 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.js
和 vendor-bundle.js
。 vendor-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 build
或 au run
,这就是我的 scripts/vendor-bundle.js
文件的开头:
原回答如下:
你问这个问题已经一周了,还没有答案。原因是你的问题非常模糊。
答案取决于您在构建应用程序时使用的模块 loader/bundler。你在使用 Aurelia CLI 吗?如果是这样,您使用的是 RequireJS 还是 Webpack?
请注意,这并不是真正的 Aurelia 问题,而是关于您正在使用的任何捆绑器的问题。另外请注意,作为最后的手段,可以使用脚本标签简单地加载 polyfill。