2016-08-14 59 views
2

我正在嘗試開發一個使用Electron的桌面應用程序。我也使用AngularJS。Electron + AngularJS沒有找到視圖

我遇到的問題是,當我創建一個自定義指令並加載一個templateUrl時,視圖無法加載,並且控制檯表示它不存在。是的,路徑是正確的,我相信它。

問題是應用程序已經在運行index.html,因此無法加載第二個文件。不用說,我自己沒有足夠的經驗來解決這個問題。

我知道Electron在後端使用節點,所以我想設置路由和/或設置路徑到我的靜態文件可能會解決問題,但我不知道該怎麼做。

我已經搜索了整個網絡的解決方案,但我找不到明確的答案。你可以很容易地做到這一點

+0

我剛剛發現它也無法加載圖像,以便證明我的理論,我必須爲我的靜態文件設置某種路徑。但是......怎麼......? –

回答

0

的方法之一,是通過添加模板上的角側的內聯模板,例如您的index.html

<script type="text/ng-template" id="temp1.html"> 
    .... 
</script> 

然後你可以從你的指令引用它,就像templateUrl: temp1.html

否則,您也可以使用模塊捆綁器。 Webpack有一個ng-template loader這是爲你做的。 Gulp和Grunt也有等價物

另一件要嘗試的方法是,如果需要從js端引用路徑,則使用__dirname nodejs變量。 Here an example

+0

根據你提到的圖像,它似乎是一個錯誤,在最新版本的電子似乎解決:https://github.com/electron/electron/issues/1747 –

+0

我不認爲這是一個錯誤,只是我缺乏知識。當我通過MEAN堆棧時,我遇到了類似的問題。我最終通過簡單地使用express設置一個路徑到我的靜態文件來解決問題。但在這裏使用它是沒有意義的。 –

+0

我正在看ng模板加載器。儘管如此,我還是無法做到。不應該這樣工作嗎?或者我做錯了什麼? const navbarView = require('!ngtemplate?relativeTo =/navbar /!html!/navbar.html'); –