Aurelia Typescript 项目仅在 Chrome 上工作

Aurelia Typescript project only working on Chrome

有谁知道为什么列出的 Aurelia-Typescript 项目 in this git repository 只能在 Chrome 浏览器上运行?

是否有目前仅 Chrome 支持而 IE 或 FireFox 不支持的 ES6 功能?

编辑 - 以下是来自 Firefox 34.0.5

的错误消息

改变对象的 [[Prototype]] 将导致您的代码 运行 非常缓慢; 而是使用 Object.create core.js:130

创建具有正确初始 [[Prototype]] 值的对象

HTML 文档的字符编码未声明。如果文档包含 US-ASCII 范围之外的字符,则在某些浏览器配置中,文档将呈现为乱码文本。页面的字符编码必须在文档或传输协议中声明。 index.html

"DEBUG [bootstrapper] loading the HTMLImports polyfill" core.js:2518

Web 控制台日志记录 API(console.log、console.info、console.warn、console.error)已被此页面上的脚本禁用。

错误:脚本错误:webcomponentsjs/HTMLImports.min http://requirejs.org/docs/errors.html#scripterror require.js:166

在 aurelia-bundle.js 的第 15346 行(引导程序部分),它检查是否支持 HTML 导入:

      if (!("import" in document.createElement("link"))) {
        logger.debug("loading the HTMLImports polyfill");
        toLoad.push(System.normalize("webcomponentsjs/HTMLImports.min", loaderName).then(function (name) {
          return System["import"](name);
        }));
      }

开箱即用地支持它的唯一浏览器仍然是 Chrome。对于其他浏览器 HTMLImports polyfill 加载失败,因为:

  1. HTMLImports.min.js 从 webcomponentsjs 目录中丢失
  2. 路径应该是"aurelia/webcomponentsjs/HTMLImports.min"。将 webcomponentsjs 移动到根路径可能会更好(我不知道如何通过捆绑处理)
  3. 关注@Chi Row 对 HTML Template Element polyfill 的回答(IE 11 似乎支持它们,所以它在没有它们的情况下工作)。

@T Sol 上面的回答解决了 Firefox 的问题。

对于 IE,我从 this git repository 下载 HTMLTemplateElements.js 并将文件放在根目录中。然后将文件重命名为aurelia-html-template-elements.js.

解决了 IE 的问题。