Emberjs IE8对象预期错误

时间:2015-10-04 14:25:47

标签: javascript ember.js internet-explorer-8

我正在测试我的应用,虽然它适用于Chrome,FF和Safari,但它不会在IE8中加载。我看到一个空白的屏幕,开发人员工具在js文件的最开始报告错误。 我得到的错误是

Object expected at certilogo-f7ce...js at line 6 character 1

js文件的前6行是:

"use strict";
/* jshint ignore:start */

/* jshint ignore:end */

define('certilogo/adapters/application', ['exports', 'ember-data', 'certilogo/config/environment'], function (exports, DS, ENV) {

第6行是以define(....)开头的那一行。

我正在使用emberjs 1.13.9和ember-data版本1.13.11 根据文档,emberjs版本1.13.x应该支持IE8。 导致错误的原因是什么,我该怎么做才能解决?

感谢。

1 个答案:

答案 0 :(得分:0)

你是对的,emberjs 1.13应该支持IE8,但是有一些东西会导致IE8中断:

如果它在开发环境中工作但不能在生产环境中工作,那么很可能您使用的是UglifyJS v2.7,它已经放弃了对IE8的支持。您可以通过将以下内容添加到ember-cli-build.js

来重新启用IE8支持
  var app = new EmberApp(defaults, {
    // Force UglifyJS 2.7.0 + to support IE 8
    minifyJS: {
      options: {
        compress: { screw_ie8: false },
        mangle:   { screw_ie8: false },
        output:   { screw_ie8: false }
      }
    }
  });

此博客文章更详细地解释了它 -
Getting Ember JS to work with Internet Explorer 8

另一方面,如果IE8在开发环境中不起作用,那么插件很可能是罪魁祸首。我知道IE8中的ember-i18n中断了。尝试一次删除一个插件,看看它是否修复了它。