【问题标题】:Does Ember CLI support IE11 or IE10?Ember CLI 是否支持 IE11 或 IE10?
【发布时间】:2014-11-10 06:58:44
【问题描述】:

我们有一个基于 ember cli 的站点,可以在除 IE11 和 IE10 之外的所有浏览器中正常运行。

该网站也可以在 IE11 / IE10 中加载,但在查看了几页后它只是崩溃了,控制台或日志中没有任何错误。

我们的应用程序正在发出跨域请求以获取/保存数据。不确定这是否是问题所在,或者 IE11 允许的请求/数据数量是否有限制?

也不确定 Ember cli 构建站点是否可以完美地在 IE11/IE10 中运行,正如在查找我的问题时偶然发现的这篇文章。

https://github.com/stefanpenner/ember-cli/issues/301

对于为什么网站在查看某些页面后加载但崩溃的任何帮助,我们不胜感激?

提前致谢。

【问题讨论】:

  • 您对production 构建有问题还是仅在使用ember serve 运行时遇到问题?
  • ember 服务和构建问题。基本上能够在崩溃之前访问该网站并查看几个页面。
  • 我希望在这里找到答案,在 IE10 中遇到同样的问题

标签: ember.js internet-explorer-11 ember-cli internet-explorer-10


【解决方案1】:

Ember 使用 Babel 将 ES6 转换为原生 JavaScript 的幕后花絮。 Babel 不支持 Internet Explorer

https://github.com/babel/babel/blob/master/doc/design/compiler-environment-support.md

其实可以这么说:

注意:如果 Babel 在任何不受支持的环境中工作,纯属巧合,与未来的兼容性无关。使用风险自负。

【讨论】:

    【解决方案2】:

    Ember 确实支持 IE11,但 IE11 兼容版本仅默认内置在生产环境中。因此,如果您尝试在 IE11 中进行开发或测试,则需要修改配置。

    至少,您需要在 target.js 的浏览器配置中包含 ie11

    '使用严格';

    const browsers = [
      'last 1 Chrome versions',
      'last 1 Firefox versions',
      'last 1 Safari versions',
      'ie 11'                    // INCLUDE THIS LINE
    ];
    
    module.exports = {
      browsers
    };
    

    该步骤是强制性的。下一步是可选的,但如果您的项目使用任何 3rd 方库,我建议您这样做。作为进一步的步骤,如果您没有在 ember-cli-build.js 中启用所有 polyfill,您可能会遇到额外的控制台错误(由于 ember 插件)。

    module.exports = function(defaults) {
      let app = new EmberApp(defaults, {
        'ember-cli-babel': {
          includePolyfill: true
        }
      });
    
      return app.toTree();
    };
    

    【讨论】: