Laravel 網站項目目錄結構規劃

來源:互聯網
上載者:User

標籤:source   結構   轉譯   檔案的   第三方庫   執行   min   網站   str   

最近在用Laravel這個PHP架構搭網站,大致瞭解這個架構的目錄結構之後感覺學到了不少東西。

 

首先安裝好包管理器:

PHP部分當然用composer,安裝在全域目錄下方便一點。

前端部分,我沒有選擇npm而是使用更“先進”的yarn。

 

可以開啟 Laravel的官方文檔 以供參考。

 

我寫這文章是為了理清楚自己的開發思路,以前我直接把整個網站項目從伺服器複製到自己的電腦上進行編寫,但是這樣需要複製的東西實在太多了,大部分是我根本就不會去動第三方的庫。所以我得搞清楚如何做能夠只需要下載最少的檔案,就能夠保持我電腦與伺服器的檔案的同步。這樣也方便在本地開伺服器進行代碼測試,而不用每次都得同步本地修改到伺服器,再從伺服器測試代碼運行結果。

大致的思路就是,只同步包管理器的設定檔,再在本地通過包管理器讀取這些設定檔下載與伺服器相同的第三方庫。

 

1. PHP的依賴

安裝好Larvel之後,根目錄下會有composer用於存放第三方庫的檔案夾 vendor,這個檔案夾裡的東西全部可以加進.gitignore,事實上Laravel預設gitignore 也是這麼做的。我們只需要在git加上composer.json就可以同步PHP所使用的庫了。

這樣從git pull下來的repo,只需要執行composer install就能獲得與伺服器上相同的庫。

2. 前端項目的依賴

前端的庫都會放在 Laravel 根目錄下 node_modules 目錄(以下簡稱nm)裡,這個nm應該放在gitignore裡,不同步到git,僅同步packages.json 及 yarn.lock(如果用yarn來替代npm的話)。

本地的repo裡,只需要yarn install便能獲得與伺服器上相同的庫。

3. 前端資源的存放

Laravel還有兩個檔案夾public及resources,本來我一直都是把css js以及其他資源檔比片直接放在public檔案夾裡的,但是似乎這麼做是不妥的,特別是使用scss/sass以及Typescript這種需要編譯才能產生實際瀏覽器使用的css/js的檔案。

一種比較合理的做法是,將scss以及typescript放在resources裡,轉譯出的最終檔案放在public下。這樣瀏覽器可以訪問最終css/js檔案,但是訪問不到源檔案。如果轉譯再minify的話這樣做也很方便。總之就是將源檔案剝離出public目錄,防止使用者訪問。

轉譯之類的操作可以使用webpack,同時還可以實現更多進階特性比如模組化。

Laravel 網站項目目錄結構規劃

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.