2015-09-03 79 views
1

似乎systemjs似乎無法找到模板文件(我的.html視圖),因爲它使用絕對路徑加載文件。它預計我的主要應用程序組件app.html位於file://,但事實是,PhoneGap將應用程序的根放在file://data/data/app-name/root/...file://data/data/app-name/root/... 的行上。systemjs從/加載的原因可能是因爲我在我的index.html中添加了<base href="/"> 。這是爲了讓路由工作。使用PhoneGap和Angular2,加載模板時出現問題

這裏的最佳做法是什麼?我所有的組件都使用templateUrl,並且我正在認真考慮使用html代替 - 這真的很煩人......

我正在使用traceur作爲編譯器。

+1

與[this](https://github.com/systemjs/builder/issues/234)有關嗎? – lifeisfoo

+0

@lifeisfoo我認爲這是非常相關的,但我不知道如何將它應用於我的問題。 –

+0

您是否獲得了cordova和angular2的運行?我面臨着問題。它停止加載...你用什麼基本的應用程序結構來初始化boot.ts? – Gary

回答

1

如果有人有興趣,我解決了這個問題在一兩步修復:

首先,在我的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中啓動它...

+0

嗨。您是否支持Angular 2使用Phonegap?你使用TypeScript還是JavaScript? –

+0

@DanielDudas nope,我把這個想法擱置,只是堅持把網頁添加爲「首頁應用程序」/鏈接 –