我有一個項目有6個視圖(html)。每個視圖都有一個對應的視圖模型(.js)和一個僅用於該視圖的樣式表(.js)與Aurelia CLI的CSS管理:每個視圖加載另一個CSS文件被強制執行全站點導致衝突
aurelia-cli通過我的文件免費遞歸併捆綁所有.js和.css文件轉換爲幾個文件,以便在減少頁面加載時間和大小的同時引用它們。因此,如果我有一個帶有welcome.html,welcome.js和welcome.css的歡迎文件夾,則可以將welcome.html的CSS加載到以下<require from="./welcome.css"></require>
,並在加載頁面時將CSS注入到<head></head>
標記中。
的問題是,當我導航到下一個視圖時,來自welcome.html/welcome.css的CSS規則仍然在網頁的<head>
標記中,因此仍在執行。在訪問我的應用程序中的所有6個視圖後,我現在在<head>
標記中擁有6個<style>
標記,並且所有六個頁面中的所有規則都在我訪問的每個頁面上執行,在頁面刷新之前不會發生卸載。毋庸置疑,訪問了幾頁後,整個網站變得混亂垃圾。
所以我的問題是
- 爲什麼這是一個功能
- 我在這裏失蹤的最佳做法?
- 現在有什麼方法可以在訪問時加載頁面的CSS,在導航時卸載它,並將新頁面加載到它的位置?
如果我有一個全球性的樣式表,引導,動畫CSS和字體真棒,在這一天我有14種衝突的方式永久地注入HTML應用程序的其餘部分的結束10頁的應用程序注入成。
有什麼建議嗎?謝謝你的閱讀。
我想這只是混淆了我爲什麼aurelia沒有卸載CSS的方式,它帶來了我沒有找到合理的邏輯,使多個頁面上的一個頁面使用CSS。這提供了什麼好處?我會看看你的解決方案,但我不知道這是否是工作在github上成爲問題。如果它沒有提供任何好處,它應該是固定的。 –
難道你不能只使用sass的@import功能按照你想要的順序導入scss文件嗎?然後,只需要應用程序本身的頂級scss文件。 – pQuestions123
這真的會引發另一個無法訪問在特定變量文件中設置的變量(即顏色等)的問題。我去解決方案只是將所有scss導入一個主scss文件(它導入頂部的colors.scss)。然後你可以訪問所有文件中的所有顏色。你所需要做的就是將一個主文件轉儲出來。 – pQuestions123