1

似乎 systemjs 似乎找不到模板文件(我的 .html 视图),因为它使用绝对路径来加载文件。它希望我的主要应用程序组件 app.html 位于,file://但事实是,PhoneGap 将应用程序的根目录放置在file://data/data/app-name/root/... Systemjs 从 / 加载的原因可能是因为我<base href="/">在我的index.html. 这样做是为了让路由工作。

这里的最佳做法是什么?我所有的组件都使用templateUrl,我正在认真考虑内联html - 这真的很烦人......

我正在使用 traceur 作为转译器。

4

1 回答 1

2

如果有人感兴趣,我通过两步修复解决了这个问题:

首先,在我的 index.html 中,我在其中导入我的应用程序,在此之前,我初始化了一个全局变量,我稍后将其用作 baseUrl:

if (window.cordova !== undefined) {
    baseLoadpath = 'data/data/dk.app_name/files/download/app_dir/';
} else {
    baseLoadpath = '/'
}

每当我加载模板时,我都会像这样添加这个 baseLoadPath:

@View({
    templateUrl : baseLoadpath + 'app.html' 
})

这会处理文件路径。由于其他错误,我仍然无法在 PhoneGap 中启动并运行它......

于 2015-09-14T09:34:05.393 回答