问题标签 [es5-shim]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 在 javascript 函数中使用“array-includes”而不是“includes”来跳过 IE11 中的问题
我正在编写一个应用程序ASP.net
。我也在使用 Bootstrap 3 框架。现在bootstrap-table.min.js
使用
这在 Internet Explorer 11 中引发了一个例外,并建议使用 indexOF。在 Firefox 和 Chrome 中一切正常。
一个解决方案是修改功能和使用.array-includes
来代替,.includes
但要做到这一点,我需要一个填充的环境。
无论如何,我尝试使用airbnb-js-shims
版本徽章。我不明白我要如何使用这个垫片。
我已经airbnb-js-shims
使用命令安装了(Visual Studio 2013 Package Console)
npm i airbnb-js-shims
但我收到以下消息
命令npm i airbnb-js-shims
创建了一个名为的文件夹node_modules
,其中有许多子文件夹(airbnb-js-shims
等array.prototype.flat
...)
网站上写的是 Just require/import airbnb-js-shims
,环境会被填充"
import 'airbnb-js-shims';
我不明白我必须将此命令放在.js
文件中还是其他任何地方?
我把这个命令放在 a.js
但我收到语法错误的异常。
预先感谢您的宝贵支持,对于我对这种环境缺乏了解,我深表歉意。
angular - angular8 es5子调用父方法调用this.method未定义
异常,core.js:4002 错误类型错误:this.getFirstName 不是函数
为什么?
jquery-ui - 在更新代码时尝试理解 requirejs、shim 和依赖项
短版:我正在更新一些旧库以尝试以 AMD/requirejs 格式获取它们以进行管理,但其中一些依赖于旧代码。
主要问题:我主要对在以下内容中列出的内容感到困惑:
以及在处理 AMD 和非 AMD 工具的组合以及 jquery-ui 和 jquery 插件之类的东西时,shim 依赖项列表中的内容。
附加信息
问题:
其中一个较旧的库依赖于 jquery-ui(和旧版本)的 .draggable(),一些旧版本的 jquery 插件称为“onScreen”,一个称为 spin.js 的微调器模式 - 所有这些都不是 AMD 友好的. (我还实现了对 AMD 友好的 dropzone 新版本的更新)其中两个较旧的库还使用一个名为 vex 的模态库,它需要 vex.dialog 的依赖项。现有网站有一个被丑化的旧版本。
我试图不完全修改此代码,因为长期目标是完全删除这些依赖项,但我现在可能没有时间弄清楚它们在做什么。
我已经尝试了我能想到的 define(['list','of','stuff']) 的所有组合,但是一些库,如 spin (class Spinner)、vex/vex.dialog 和 onScreen 仍然没有' t 始终正确加载。(有时我得到一个,然后又失去另一个)
我可以定义一个 shim 并在定义中包含 AMD 模块列表吗?如果是这样,我是否在 require.config 的 shim 中包含 AMD 依赖项列表?什么去哪里,为什么?
我的图书馆:
长版:
我正在尝试更新一些网站代码以使用 require.js 进行依赖管理并使代码更具可移植性。但是我遇到了一些对似乎没有为 AMD 做好准备的旧代码的依赖。在可能的情况下,我会尝试用更新的代码替换这些代码和/或完全替换它们的功能,但在许多情况下,代码被缩小了,很难快速掌握它在做什么。我没有陷入试图找出并替换或更新这些东西的细枝末节,而是阅读了在某些情况下如何使用“垫片”来处理这些类型的非 AMD 代码,但我仍然不清楚如何配置它们。
这就是我所拥有的……我已经更新了三个库,并创建了一个新库。一个名为“ImageSelector”的软件构建了一个 web-gui 以允许使用 dropzone 上传文件。(我更新它的原因是我将它从使用本地文件系统转换为使用 Amazon AWS S3 存储。)第二个称为“ImageLayout”处理创建用户选择的照片产品布局的业务逻辑。(ImageSelector 分为两帧,左边一帧用于上传用户文件并将其分类到文件夹中,右边一帧用于构建布局。因此 ImageSelector 依赖于 ImageLayout)
第三个库是我创建的一个库,其中包含在整个网站上使用的许多重复使用的“实用程序”功能。在全局范围内有一个现有的结构化代码版本,只有一个函数列表,如 roundPrecision()、sanitizeFilename()、escapeRegex()、baseName() 等。我打算用静态方法构建它,但后来意识到如果我生成它的实例,我可以自定义它(例如,我可以使用全局实例参数为不同的应用程序更改字符“清理”)新的是 AwsHelper,这不是问题,因为它是全新的代码并处理所有与亚马逊 AWS 和 S3 的交互。它以 define() AMD 格式创建,而其他我已转换为 define()/export 格式。
无论如何,ImageLayout 的某些功能可以被订单系统独立使用,但大多数情况下,它是作为 ImageSelector 的依赖项使用的。AwsHelper 主要由 ImageSelector 使用,但 ImageLayout 中有两个函数使用它。以上所有内容都使用 Utilities 库。
我的猜测在配置中是这样的(以 ImageSelector 为例,但我想知道“jquery”和“dropzone”是否需要在其中或函数定义或两者兼而有之?)
其他 require.js 语义问题:
(如果需要,我会单独发布这些,但它们可能是简短的答案和相关的)
有什么地方可以显示 require.js 如何搜索文件吗?例如,我了解 r.js 用于丑化,但在某些情况下,我无法追踪这些东西的原始代码。文件名是否可以在结尾或版本号上包含 .min.js 并且 require.js 仍然可以找到它们,或者我应该重命名和/或符号链接文件吗?例如 jquery.js 与 jquery-1.7.min.js 之比。
上面引用的 spin.js 实际上包含一个名为“Spinner”的类定义。我如何在 config/shim 中表示它?