如何利用vue和php做前后端分離開發?


 

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

Blade下的Vue

包括Laravel在內的主流PHP框架都是MVC架構的,在視圖層通常都有自己的模板引擎。所以在大一入門的時候我一般是這樣寫的。

編寫一個Laravel的模板文件,傳進來PHP的變量並渲染。

<html>
    <body>
        <h1>{{ $hello }}</h1>
    </body>
</html>

通過script標簽引入Vue,然后在標簽內寫vue的邏輯。

<script src="js/vue.min.js"></script>

配合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')
    <example></example> // 這里是使用vue組件的
@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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM