问题标签 [es5-compatiblity]

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.

0 投票
0 回答
152 浏览

angular - 使用 es5 中的扩展的 ng-bootstrap datepicker 自定义日期适配器

我意识到这不是 ng-boostrap 的问题,但我一直在寻找答案,但没有找到任何对我有帮助或有意义的东西,因为我认为这是一个常见问题。我想我会在这里问,希望有人以前遇到过这个问题。

要格式化 ngb 日期文档状态,您应该创建一个自定义日期选择器适配器,该适配器扩展 NgbDateAdapter 和 NgbDateParserFormatter 类。

这是我的:

在我的 tsconfig 我有

但是我的日期选择器抛出了这个错误,我假设是因为我试图扩展类,即使那是文档说明要做的事情:

VM4213 angular.js:15635 TypeError:没有'new'就不能调用类构造函数NgbDateParserFormatter

如果我将 tsconfig 更改为:

它不再抛出错误,但我的应用不再支持 IE11。

我无法想象我是唯一遇到这种情况的人,但是我使用的是自定义 angular 10 构建,没有 angular-cli 所以谁知道。

任何指导将不胜感激。

0 投票
1 回答
92 浏览

javascript - 通过导入将 vanilla ES5 js 文件加载到 ES6 环境中

设想

作为我的原型设计过程的一部分,我想引入 tween.js,我可以使用<script>html 部分上的标签来实现,但出于各种原因,我想将这个 vanilla es5 文件直接导入到我的 es6 文件中。

我想做的是

import * as TWEEN from 'import * as TWEEN from 'https://cdnjs.cloudflare.com/ajax/libs/tween.js/16.7.0/Tween.min.js'

虽然这似乎加载了远程文件,但我似乎没有得到诸如TWEEN.Tweenetc 之类的方法。我怀疑所有 es5 都在某种关闭真空 > 垃圾收集中被处理掉了。

问题

我意识到我可以在本地克隆这个文件,但我希望通过导入并不总是对 es6 友好的 cdn 文件来简化我的一次性样式原型设计。这可行吗?

0 投票
2 回答
40 浏览

javascript - 如何将字典使用的代码转换为 ES5?

下面的代码在带有字典的新浏览器中运行良好

但我应该支持 ES5。TypeError: Cannot read property "index" from undefined但是我在启用 ES5 的浏览器中遇到了错误。

我尝试使用https://babeljs.io/repl将代码转换为 ES5 ,但没有帮助。

我该如何解决?

0 投票
1 回答
205 浏览

webpack - Webpack v5 自定义设置。为生产而构建时,我的 javscript 没有缩小

我的项目曾经缩小 Javascript 以用于生产,但现在我再次检查它,它没有。我已经移动了插件并编辑了各种东西以尝试让它再次工作,但我不能。请问有人可以帮我吗?

我也设置target: ['web', 'es5']了,但这不会将 javascript 转换为 es5。

我想我加载东西的顺序会导致这个问题,但我无法弄清楚究竟是什么。

webpack.config.js

包.json

最后是我运行构建脚本时的输出

0 投票
1 回答
111 浏览

typescript - Typescript replaceAll 未在 es5 中转译

我在我的代码中使用带有ESNEXT(截至 2021 年)的 Typescript replaceAll,因为它比使用正则表达式更清晰。

我正在编译es5,但在dist文件夹中,在经过转换的 js 代码中,replaceAll保持原样并且出现TypeError: replaceAll is not a function错误。

我认为 Typescript 会以与 es5 一起使用的方式将其转换为 es5。为什么不这样做?我该如何解决这个问题?

我的 TS 配置是:

0 投票
0 回答
52 浏览

angular - 让 Angular 12 应用程序在非常旧的浏览器上运行

这是我的 Angular 版本:

我有一个 Angular 应用程序,可以在最新版本的 Chrome 和 Edge 上正常运行,但我们的大多数客户都在使用 IE11,或者真正的旧版 Chrome(例如:Chrome 45)。所以我需要使应用程序与所有这些浏览器兼容。

我尝试先解决 IE 11 的问题。到达应用程序主页时,我最初有一个空白页面。

我做了以下更改:

  1. 我已将tsconfig文件更改如下:
  1. 我已将我的polyfill.ts文件更新如下:
  1. 我已经更新了我的browserslist文件如下
  1. 我有以下 babelrc 文件:

有了这个配置,在 IE 11 中我终于可以看到我的登录页面了。我的登录页面有以下“登录”按钮:

  1. 我真的需要 babelrc 文件还是只需要更新 tsconfig 文件和 polyfill.ts 文件?
  2. alertAngular 材料不支持 IE11是不是事件未触发的原因onclick
  3. 我尝试使用 Firefox 42 启动我的应用程序,但出现以下我不明白的错误:

谢谢您的帮助!

编辑:我能够尝试/捕获登录调用并警告错误。错误是ReferenceError: crypto is not defined。有任何想法吗?

0 投票
0 回答
14 浏览

javascript - NodeJS 可以控制本地基于 Chromium 的信息亭上的 DOM 吗?

我有一个 NodeJS 应用程序,我在 BrightSign 上用于博物馆展览。我想维护 Node 模块格式,以便可以与其他兼容 JavaScript 的展览共享相同的代码。我熟悉 Webpack 并为 Web 创建单页应用程序,但这是一个稍微不同的场景。我可以控制服务器和客户端。

我的问题是:NodeJS 可以在 HTML 页面中运行而不通过捆绑程序运行吗?

任何人都可以深入了解(或指向我的信息)HTML 和浏览器(在这种情况下为 Chromium)如何以不同的方式处理 JavaScript?