首先表示折騰了十來天的php-laravel框架和vue的結合開發又偏前端實在是太大的阻礙,首先laravel的機制就是寫完路由router再加載blade模板的.如果要在laravel工程里面加載一個.vue文件,必須通過一個 blade模板再導入vue.js.
近期接觸了前端較前衛的思想,那就是壓縮打包代碼+組件化開發.
這種思路就由不得傳統的html的前端靜態代碼的,傳統的靜態項目的代碼是這樣的:
而這樣子很不利與組件化開發, 換言之就是改動了一處,需要憑記憶+個人能力+注釋清楚來修改其他文件(如果改的不只是一處的話,那對於維護web的程序員來講簡直是噩夢)
於是前端有個很厲害的東西叫:腳手架,在vue里就是vue cli
這玩意只要一句init的命令行就能生成一堆項目的文件,開發起來相當方便
用的webpack,就輸入
npm build dev 一句話就能:
壓縮打包編譯丟給服務器就能上線了你信不信
那為什么還要依賴這個laravel呢?
那真的是因為laravel這個特殊的機制了:必須編寫路由+模板! 必須編寫路由+模板! 必須編寫路由+模板!
那如果在laravel工程下開發前端,那真是的死了算了
每一次寫完代碼要用gulp watch 來動態編譯然后打包(別以為我不知道,打包出來的最后的東東就是js的eval(代碼處))
加上apache緩存/laravel緩存服務/瀏覽器緩存/
往往你get到的 只是你改代碼的上一次的請求 我想說,這樣的開發,我!不!要!
再說說解決開發時的老大難的問題:跨域;
在這方面前端是怎么做到完全脫離后台的呢,
解決方法是:用在本地開啟服務器請求代理的方式來跟遠端服務器通訊;
據說:服務器之間的通訊是不需要跨域的
神器來了:http-proxy-middleware! ==>一個node開發的代理發出http請求的中間件
神器自行百度!
----------------------------------------------------------------------------------------------------------------------------------------------------------
前端開發完全分離總結:
1:一個優秀的組件化開發框架(非必須),如vue 理由:自動生成工程目錄+實時編譯+打包壓縮+es6語法檢查+stylus解析+自動化單元測試工具kram(咋寫忘了)+etc..
2:一個優秀的跨域解決方案,如vue cli-proxyTable(基於http-proxy-middleware)
3:一個走過彎路(碰過后端代碼甚至想改后端代碼)然后開發思路才變得很清晰的前端程序員!