如何利用vue和php做前后端分離開發?
新手上路,前端工程師,剛畢業參加工作兩個月,上面讓我用vue搭建環境和php工程師一起開發,做前后端分離,然而我只用過簡單的vue做一些小組件的經驗,完全不知道怎樣和php工程師配合,ps: php那邊用的是think5 ,我要如何把vue嵌套進去?我這兩天查資料加學習發現vue-cli有它自己的邏輯目錄,現在整個人很懵逼,可能對于一些有個三五年經驗的工程師來說,之只是一個小問題,但是困擾了我好久,最后總結一下問題,1.如何用vue搭建環境和php工程師做前后端分離開發,2能搭建一個給我看看么!

Blade下的Vue
包括Laravel在內的主流PHP框架都是MVC架構的,在視圖層通常都有自己的模板引擎。所以在大一入門的時候我一般是這樣寫的。
編寫一個Laravel的模板文件,傳進來PHP的變量并渲染。
{{ $hello }}
通過script標簽引入Vue,然后在標簽內寫vue的邏輯。
配合axios這些ajax庫,前端就可以只寫在resources/views文件夾里,不用管其他的了。
構建工具下的Vue
后來覺得沒有NPM和Node實在太不方便了,于是單獨建立了前端頁面的文件夾,編譯到resources/views文件夾里,不過不久之后Laravel就提供了一體化的構建工具。
Laravel Mix提供了一個管道,可以流式編譯CSS和JS。
mix.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css');
類似于Gulp,也是在Node上面跑起來的。
npm install
npm run dev
npm run production
在app.js里面注冊組件。
// app.js
Vue.component('example', require('./components/Example.vue'));
然后就可以直接寫在PHP的模板里面了。
@extends('layouts.app')
@section('content')
@endsection
其實原理還是和之前手動編譯的一樣,先通過webpack翻譯組件,生成正常的PHP模板,給PHP調用。
分離與轉發
再后來,前端和后端項目在一臺服務器,一個文件夾里,太窩囊了,也不利于擴展。因此,大家開始使用Node轉發。
這里后端的工作一般是:
編寫Lumen代碼,提供服務
寫好Restful的API文檔
用postman進行測試
前端的工作一般是:
編寫Vue代碼
打包編譯
使用Node轉發API請求,解決跨域問題
使用PM2處理并發請求
結束
現在寫JS比較多了,發現中間層用Koa、express也不錯,所以好久都沒有用PHP了。現在工作中大部分都是CMS的業務,后端JAVA比較多,前端就直接轉發了JAVA的接口。就這樣吧,希望對你有所幫助咯,以上。
https://www.zhihu.com/question/67171606
PHP Vue
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。