我開始學(xué)習(xí)VueJS,我意識到典型的.vue
檔案由三個不同的部分組成,分別是<template>
、<script>
和<style>
。
我的問題是關(guān)於在VueJs的真實(shí)專業(yè)專案中如何處理這三個部分。根據(jù)我的理解,應(yīng)該將它們分離成三個不同的部分。
例如,我會傾向於將它們分開放在以下資料夾中:
在src
資料夾下,我會建立以下子資料夾:
src ->script(JavaScript函數(shù)將在這里定義) index.js ->style(樣式內(nèi)容將在這里定義) index.css ->pages(模板內(nèi)容將在這里定義) index.vue
在真實(shí)的中大型VueJS專案中是這樣處理的嗎?如果不是,為什麼?這種方法的優(yōu)缺點(diǎn)是什麼?
提前感謝您的回答!
最好的問候,
保羅
好的提示,關(guān)於閱讀文件。我沒有找到它。根據(jù)https://vuejs.org/guide/scaling-up/sfc.html#what-about-separation-of-concerns:
一些來自傳統(tǒng)網(wǎng)頁開發(fā)背景的用戶可能擔(dān)心,SFC在同一個地方混合了不同的關(guān)注點(diǎn) - 這是HTML/CSS/JS本應(yīng)該分離的!
為了回答這個問題,我們需要達(dá)成一致的觀點(diǎn),關(guān)注點(diǎn)的分離並不等同於文件類型的分離。工程原則的最終目標(biāo)是提高程式碼庫的可維護(hù)性。將關(guān)注點(diǎn)的分離死板地應(yīng)用為文件類型的分離,並不能幫助我們在日益複雜的前端應(yīng)用環(huán)境中實(shí)現(xiàn)這個目標(biāo)。
在現(xiàn)代UI開發(fā)中,我們發(fā)現(xiàn),將程式碼庫劃分為三個相互交織的巨大層級,與其相比,將其劃分為鬆散耦合的元件並進(jìn)行組合更加合理。在一個元件內(nèi)部,其模板、邏輯和樣式是內(nèi)在耦合的,而將它們放在一起實(shí)際上使得元件更加內(nèi)聚和可維護(hù)。
即使你不喜歡單一檔案元件的想法,你仍然可以透過將JavaScript和CSS分開使用Src Imports將其熱重載和預(yù)編譯功能應(yīng)用到你的專案中。