以前是寫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