VS2015 + TypeScript + Cordova + Angular2 + SystemJS

VS2015 + TypeScript + Cordova + Angular2 + SystemJS

我在 systemJS 加载外部模块时遇到问题。我为 VS2015 创建了一个小示例项目。您可以在此处下载代码 https://github.com/dbiele/TypeScript-Cordova-SystemJS

当我构建项目并在 Ripple 或 BrowserSync 中查看时,出现以下错误:xhr_proxy。看起来 System 正在 registry.jspm.io 上寻找外部文件 animate.js 而它应该在 localhost 上找到它。

有什么想法吗? GitHub 中的代码非常基础。注意:我认为这不是 Cordova 问题,因为我在浏览器中 运行 并产生涟漪。

发现问题。当 importing/exporting 外部模块时,TypeScript 不使用 .js 扩展。例如:

TypeScript

import * as Animate from './animate';

ES6

import * as Animate from './animate.js';

解决方法是将defaultJSExtensions: true加到system.config中。

示例:

System.config({
    baseURL: './scripts/',
    paths: { 'App': 'app.js' },
    defaultJSExtensions: true
});

我在这里更新了VS2015项目代码,效果很好。

https://github.com/dbiele/TypeScript-Cordova-SystemJS

@DatenMetzgerX 遇到了同样的问题。发布信息: https://github.com/systemjs/systemjs/issues/490