问题标签 [es6-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.
babeljs - babel 需要 es6-shim 吗?
es6-shim
我在 Twitter 上提到我要从babel
. 还有人提到:
即使使用 babel,仍然需要垫片。他们修复了损坏的内置程序,那些 babel 的输出使用。
所以:
babel 是否需要 es6-shim 或类似的?
如果是这样,为什么不将
require
这些东西作为依赖项呢?
带有参考文献的答案优于没有支持论据的“是/否”!
typescript - 在 Angular2/TypeScript 项目中使用 es6-shim
我想将 es6 的 Map 用于 Angular2/typescript 项目。我想实现这一点的方法是通过 es6-shim 库。但是我真的很困惑我应该如何做到这一点。这是我到目前为止所做的:
在我的根 index.html 文件中,我有这个:
以上工作正常,因为如果我现在运行我的应用程序,它将毫无问题地加载。
然后,在我的一个打字稿文件中,我有这个:
如果我这样做,当我尝试运行我的应用程序时会出现错误:
因为我在 index.html 中包含了 es6-shim,这不是很奇怪吗?
现在,如果我只是手动复制上述目录中的 es6-shim.js 文件,它就可以工作,我不会收到任何错误。
然后,我尝试像这样创建一个 Map 对象:
但我收到以下错误:
所以,既然我得到了这些奇怪的错误,我就认为我做错了什么。有人能帮助我吗?
谢谢!
typescript - TypeScript + ES6 Map + 对象类型的索引签名隐式具有“任何”类型
我在 TypeScript 中有以下代码:
编译器给了我这个错误:
Error:(10, 16) TS7017: Index signature of object type implicitly has an 'any' type.
通过 es6-shim,地图是“可能的”。我不太确定这里发生了什么。其实这张地图让我有点困惑。Map 应该来自应该实现 es6 功能的 es6-shim。但是 es6 没有静态类型,对吧?那么,为什么 Map 期望键/值类型作为通用参数呢?我看到有些人添加了“noImplicitAny”标志,但我想解决这个问题,而不是忽略它。
谢谢你。
javascript - 如何在 es6 中使用嵌入式表达式 ${...}
如何使用嵌入式表达式,例如 ${...}工作。当我在 javascript 中工作时,它完美无缺。但不是在 HTML 中。所以我的问题是 ES6 在运行时检查所有字符串(文字或对象)和字符串插值。
前任:
但在 HTML
angular - Angular2 为什么我们需要 es6-shim
按照Angular2 快速入门指南,我们被指示es6-shim
在 2 个地方包括:
1)index.html
<script src="node_modules/es6-shim/es6-shim.min.js"></script>
2)typings.json
我的印象是我们正在将es6
代码编译为es5
.
配置在tsconfig.json
如果最终结果是浏览器正在加载es5
,为什么浏览器需要 shimses6
呢?
javascript - HTML5、ES6 模板字符串 polyfill
对于我们的应用程序,我们需要使用新功能template string
。
但旧浏览器(如 android 默认浏览器)不支持模板字符串。
如何获得此功能的 polyfill?试过了babel
。我们让这个 polyfill 适用于所有功能,但template string
. 目前modernizr
用于检测支持并显示使用其他浏览器的警报。这种方法对用户来说很烦人。我怎样才能获得一些 polyfill 以使其在不支持的浏览器上工作?
是什么让我们如此template strings
。问题是我不能使用这些工具(trceur
,babel
),因为这个文件是从puppet
. 我们不可能在那里运行这些转译器。想在浏览器端添加一些 polyfill。密钥中包含一些\n
字符,需要保留这些字符。我想要一些 polyfill,所以我可以在 configs js 文件之前包含。
firefox - TypeScript/Angular2:tagDef.requireExtraParent 不是函数
研究错误,
“例外:TypeError:tagDef.requireExtraParent 不是函数”
它实际上在 Google 上返回 0 个结果。
背景:
- 网站在 Chrome 和 Safari 上运行良好。还没测试过IE。那里是整个单独的噩梦。
- 错误仅适用于 Firefox(似乎所有版本。目前在 45 上)
- 我正在使用 System 从 TypeScript 转换为 ES5,并遵循 Angular 快速入门
- 在 Mac 上,如果这很重要
- Angular2,测试版 9
该网站非常基本。我已经消除了所有可能的并发症,而且似乎错误只是在引导本身。也许缺少 polyfill?
索引.html
main.ts(入口点)
应用程序.ts
我试过什么
添加一些额外的 polyfill,例如 html_parser,它似乎是定义 requireExtraParent 方法的地方。
消除任何编译/转译错误。
挖掘得如此之深,以至于谷歌甚至找不到任何东西。
performance - Angular 2 性能 IE11 *ngFor
我正在尝试 Angular 2,我注意到 Internet Explorer 11 上的性能在使用 *ngFor 超过 1500 个项目时非常缓慢。使用 IE11 大约需要 25 秒,而在其他浏览器上则不到 1 秒。
暂停调试器我注意到代码不断调用es6-shim.js 中的isNan函数。这里是调用堆栈:
在这里工作的 plnkr:http://plnkr.co/edit/sEujClHmuCbrydIiYQYL?p= preview。代码非常简单:
有同样问题的人吗?任何提高性能的解决方法或提示?
先感谢您。