更多請關注Laravel.so、PIGJIAN BLOG
現今前端元件化開發、MVVM
模式,給開發帶來了很多的便利,可讀性、可維護性更高。然而自 Laravel 5.3
開始,VueJS
成為框架預設的標配。
本文基於 Laravel 5.1 LTS
版本引入 Vue 2.0
進行配置。
我已在 Github
配置好,Laravel 5.1
和 Laravel 5.2
均有,Clone
下來後按照 README
安裝依賴後即可用:
https://github.com/jcc/vue-laravel-example
步驟一:配置 package.json
1. 在根目錄下修改 package.json
, 可在 devDependencies
下配置你所需的所有依賴。我的配置如下:
{
"private": true,
"scripts": {
"prod": "gulp --production",
"dev": "gulp watch"
},
"devDependencies": {
"bootstrap-sass": "^3.3.7",
"gulp": "^3.9.1",
"jquery": "^3.1.0",
"laravel-elixir": "^6.0.0-9",
"laravel-elixir-vue": "^0.1.4",
"laravel-elixir-webpack-official": "^1.0.2",
"laravel-elixir-browsersync-official": "^1.0.0",
"lodash": "^4.14.0",
"vue": "^2.0.0-rc.2",
"vue-resource": "^0.9.3",
"vue-router": "^2.0.0-rc.3"
}
}
2. 安裝配置的依賴,在根目錄下,執行:
npm install
當然你可以透過 npm install {package_name} --save-dev
的方式安裝你所需的包。
步驟二:配置 gulpfile.js
Laravel 5.1
的 gulpfile.js
內容如下:
var elixir = require('laravel-elixir');
elixir(function(mix) {
mix.sass('app.scss');
});
可見還沒使用 ES6
的語法,因此我們修改如下:
const elixir = require('laravel-elixir');
require('laravel-elixir-vue');
elixir(mix => {
mix.webpack('main.js');
});
mix.webpack('main.js')
是將 resources/assets/js
下的所有檔案進行編譯合併,合併到 public/js/main.js
檔案。
步驟三:配置 Vue
並建立基礎例子
1. 在 resources/assets
資料夾下 建立 js/main.js
檔案,該檔案主要引入 vue 、vue-router
等所需的包。
main.js
:
import Vue from 'vue/dist/vue.js'
import App from './App.vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
import Example from './components/Example.vue'
const router = new VueRouter({
mode: 'history',
base: __dirname,
routes: [
{ path: '/example', component: Example }
]
})
new Vue(Vue.util.extend({ router }, App)).$mount('#app')
由於 vue-router
需要 Vue.js 0.12.10+
並不支援 Vue.js 2.0
,因此以上的是根據 vue-router v2.0.0+
的版本配置,配置跟 0.12.10+
有明顯區別。
2. 在 js 資料夾下建立 App.vue 檔案
App.vue
:
<template>
<div id="app">
<router-view></router-view>
</div>
</template>
3. 在 js
資料夾下建立 components/Example.vue
檔案
Example.vue
:
<template>
<h1>{{ msg }}</h1>
</template>
<script>
export default {
data () {
return {
msg: 'This is a Example~!'
}
}
}
</script>
到此 vue
的配置已完成,接下來需要配置一下 Laravel
, 讓 Laravel
成功引導到 Vue
步驟四:定義路由、編譯合併 JS
程式碼
1. 定義路由,在 app/Http/routes.php
加入:
Route::get('example', function () {
return view('example');
});
2. 建立 example.blade.php
模板
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Example</title>
</head>
<body>
<div id="app"></div>
<script src="{{ asset('js/main.js') }}"></script>
</body>
</html>
3. 編譯合併 JS
程式碼
在命令列下,輸入:
gulp
如需實時編譯,可輸入 gulp watch
步驟五:訪問
最後透過瀏覽器訪問:http://laravel.app/example
Laravel5.1 + Vue2.0 元件化配置
https://github.com/jcc/vue-laravel-example
更多請關注Laravel.so、PIGJIAN BLOG
本作品採用《CC 協議》,轉載必須註明作者和本文連結