2017-02-03 89 views
6

我有一個很好的html,css template(源代碼here)。Javascript文件未正確加載

我打算在我的angular2應用程序中使用此模板(源代碼爲here)。

我得到了this存儲庫(index.html)中的html模板。

我的問題是在angular2源代碼

  1. 您需要clone角源。
  2. 運行npm install
  3. 運行ng serve

不幸的是,它似乎在index.html<script src="assets/js/main.js"></script>沒有正確添加。雖然在控制檯中沒有錯誤,但是的左側菜單已損壞。我知道當main.js不適合時會發生此問題。

這裏是正確 html頁面:

correct page

這裏是角頁(破碎標題和菜單):

broken page

的碼相同,但我已將html模板分解爲3個組件(標題,菜單和應用程序(主要內容))。

+0

檢查HTML文件中第130行的HTML註釋。他們沒有正確關閉,所以它打破了後來的標籤。 – GillesC

+0

當你打開正在服務的js文件時,它會正確打開嗎?可能與CLRF結局或charset與ng服務有所不同? – LordNeo

+0

把一些自定義功能,並嘗試從控制檯調用它 – LordNeo

回答

0

不是試圖弄清楚你的CSS發生了什麼,而是將原始模板轉換爲Angular 2,並修正了CSS問題。現在所有的工作,並且完整的來源是在https://github.com/Boyan-Kostadinov/angular2-miminium

+0

我用來驗證你的CSS的工具是在https://jigsaw.w3.org/css-validator/#validate_by_input –

+0

這意味着我克隆了你的代碼,做了我描述的改變,現在你可以將它們合併到您的代碼中。轉到答案中的PR(拉取請求)鏈接。 –

+0

它仍然不起作用。當我推十字時,它應該關閉左側菜單。此外,儀表板的子菜單首先不應顯示。像這個模板http://utgame.freetzi.com/ –

0

當你分開index.html它很可能你也改變了一些文件路徑。

相對路徑將從src="assets/js/main.js"變成類似src="../assets/js/main.js"的東西。

將前導../添加到路徑將退出當前目錄到下一級。就像你現在使用的那樣,瀏覽器正在查找assets目錄,我認爲你已將它劃分爲htmlComponents目錄。

考慮使用至main.js的絕對路徑,至少可以診斷問題。

0

我遇到了同樣的文件類似的問題。就我而言,我有一個分階段開發的複雜應用程序。我將我的Angular種子安裝在一個子目錄中。由於我的文件結構,當我運行npm start時,啓動的實時服務器具有較差的相對鏈接位置。例如,在下面的屏幕截圖中,您會看到應用程序試圖找到style.csshttp://localhost:3000/medface/RecordWriter/styles.css;但是,它應該查看http://localhost:3000/styles.css,因爲由npm start創建的Web服務器的根位於/ medface/RecordWriter /。

enter image description here

對於您的項目。找到鏈接問題的關鍵是打開開發人員面板並檢查實際的網絡請求。如果您分享一個屏幕截圖,我們可以幫助您更深入地檢查您的實例。

什麼工作對我來說

在我的情況,我重新配置我的本地Web服務器以處理Angular2文件夾中的任何未被供電的網頁,並返回該指數來代替。當我運行npm start時,我關閉了打開的瀏覽器頁面並使用我的常規Web服務器。而不是在本地主機觀看我的申請:3000,我在查看我的申請本地主機/ medface/RecordWriter的/(其等同於本地主機:80/medface/RecordWriter的)。

我臨時做法的缺點是頁面必須在更改顯示之前進行刷新,但它會預測並可靠地加載所有資源,並允許我的Angular2代碼與其他區域中的一些舊代碼庫一起運行的網站未被轉換爲Angular2。無論如何,這可能也適用於你。