laravel5.8+vue+element 后台搭建(1)-

2019-10-17  本文已影响0人  道翼

这个时间,laravel已经出6了,选择5.8的原因是因为学习接触的laravel社区summer的课程,做完初版后会进行版本升级

vue版本2.5,初版后会再进行cli3的升级

1. 配置本地laravel环境

composer create-project --prefer-dist laravel/laravel blog "5.8.*"

2. 前端依赖安装

npm install

3. 添加laravel路由

Route::get('/', function () { 
     return view('admin/index');
 });

4. 新建 index.blade.php 视图文件,和 Vue 交互

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="csrf-token" content="{{ csrf_token() }}">
    <title>轻声</title>
</head>
<body>
<div id="app"></div>
<script src="{{ mix('js/app.js') }}"></script>
</body>
</html>

5. 新建App.vue文件

<template>
        <div>
            <router-view></router-view> <!--路由引入的组件将在这里被渲染-->
        </div>
</template>

<script>
    export default {
        name: "App"
    }
</script>

<style scoped>

</style>

6. 新建Hello.vue文件

<template>
    <div class="container">
        Hello World
    </div>
</template>

<script>
    export default {
        name: "Hello"
    }
</script>

7. 安装 vue-router

npm install vue-router --save-dev
import Vue from 'vue';
import VueRouter from 'vue-router';
Vue.use(VueRouter);

export default new VueRouter({
    saveScrollPosition: true,
    routes: [
        {
            name: 'hello',
            path: '/',
            component: resolve => void(require(['../components/Hello.vue'], resolve))
        }
    ]
});

8. 修改app.js文件,渲染组件

import App from './App.vue';
import router from './config/router.js';

window.router = router;
import './config/function.js'

const app = new Vue({
    el: '#app',
    router,                 //使用router
    render: h => h(App)     //加载App.vue文件,也可换成别的vue文件,需在页面import引入
});

9. 编译前端资源,运行

npm run watch

10. 访问项目,我本地的虚拟站点

image.png

11. 引入 Element

npm i element-ui -S 
window.router = router;
import './config/function.js'                        //这是我定义的公共库

import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';      //最新版更改了目录名字为theme-chalk
Vue.use(ElementUI);
<template>
    <div class="container">
        Hello World
        <el-button type="text" @click="open">点击打开 Message Box</el-button>
    </div>
</template>

<script>
    export default {
        name: "Hello",
        methods: {
            open() {
                this.$alert('这是一段内容', '标题名称', {
                    confirmButtonText: '确定',
                    callback: action => {
                        this.$message({
                            type: 'info',
                            message: `action: ${ action }`
                        });
                    }
                });
            }
        }
    }
</script>

ps: 借鉴了一些laravel5.7+Vue+ Element 环境搭建的知识,如果有其他错误请评论

上一篇 下一篇

猜你喜欢

热点阅读