博主信息
邯郸易住宋至刚
博文
53
粉丝
3
评论
0
访问量
25740
积分:0
P豆:127.5

laravel8+vue2单页面应用

2021年03月04日 07:05:23阅读数:519博客 / 邯郸易住宋至刚/ 遇到的问题及解决方法

一、环境配置

此文默认composer为全局安装(可察看相关文章,保证composer为全局安装)

1、创建laravel项目

如果已有项目,也可以使用,简单方法可以直接将laravel8文件夹中的文件直接复制到项目目录下。
如果没有项目,
使用artisan命令创建项目:

  1. composer create-project laravel/laravel demo

其中的“demo”是自己项目的名称,可以是“lv8vue2”、“blog”、“spa”等等。

2、引入laravel/ui

这里需要注意的是,引入laravel/ui是指项目引入,因此一定要切换到项目根目录

(1)切换到根目录

  1. cd */*/demo

(2)引入laravel/ui

  1. composer require laravel/ui

3、初始化vue

这里需要注意的是有的文章并没有交待清楚laravel8与vue2的关系,讲到vue-loader等问题时让人误认为需要安装vue-loader,可是自己安装的vue-loader与laravel8自带的vue出现兼容问题,总是会出些莫名其妙的错误,所以不用重新安装vue及相关组件,在使用vue及相关组件时只需要初始化就可以了

  1. php artisan ui vue

vue初始化完成以后,项目根目录下的package.json中devDependencies内容会增加vue及相关组件

  1. "vue-loader": "^15.9.6",
  2. "vue-router": "^3.5.1",
  3. "vue-template-compiler": "^2.6.10"

安装完成后,Vue组件和JS文件在resources/js目录下;

4、入口文件resources/js/app.js文件改造

当然,laravel8是自动生成的,无需自己动手改造。

  1. require('./bootstrap');
  2. window.Vue = require('vue');
  3. // 注册组件
  4. Vue.component('example-component', require('./components/ExampleComponent.vue').default);
  5. // 挂载实例
  6. const app = new Vue({
  7. el: '#app',
  8. });

5、编写一个vue组件并注册

(1)在resources/js/components目录下创建DemoComponent.vue组件

  1. <template>
  2. <div class="container">
  3. <div class="jumbotron">
  4. 这里是我的第一个laravel+vue单页
  5. </div>
  6. </div>
  7. </template>
  8. <script>
  9. export default {
  10. // 导出组件
  11. name:'DemoComponent'
  12. }
  13. </script>
  14. <style scoped>
  15. </style>

(2)在入口文件resources/js/app.js中注册组件

此时的app.js应该是这样的:
require(‘./bootstrap’);

  1. window.Vue = require('vue');
  2. // 注册组件
  3. //Vue.component('example-component', require('./components/ExampleComponent.vue').default);
  4. Vue.component('demo-component', require('./components/DemoComponent.vue').default);
  5. // 挂载实例
  6. const app = new Vue({
  7. el: '#app',
  8. });

6、改造laravel8自带的欢迎页面视图welcome.blade.php

  1. `<!DOCTYPE html>
  2. <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <title>Laravel</title>
  7. <!--1、 引入支持 Bootstrap 的 CSS 样式文件 -->
  8. <link href="{{ asset('css/app.css') }}" rel="stylesheet">
  9. </head>
  10. <body>
  11. <div id="app">
  12. <div>
  13. <!-- 3、使用组件 -->
  14. <demo-component></demo-component>
  15. </div>
  16. </div>
  17. <!-- 2、引入支持Vue框架和Vue组件的app.js文件 -->
  18. <script src="{{ asset('js/app.js') }}"></script>
  19. </body>
  20. </html>`

7、在routes/web.php中定义一个万能路由:

Route::get(‘/{any}’, [SpaController::class,’index’])->where(‘any’, ‘.*’);

8、安装依赖

  1. npm install

9、测试代码

  1. npm run dev

原来的欢迎视图改造后如下:

版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • 本篇文章给大家介绍一下Laravel 8 配合 Vuejs 实现(SPA)的方法,希望对大家有所帮助!
    ​下由laravel教程栏目给大家介绍在Laravel中如何使pjax进行加速,希望对需要的朋友有所帮助!
    之前的文章《深入解析微信小程序中实现的保存图片(附代码)》中,给大家了解一下微信小程序中实现的保存图片。
    本篇文章给大家介绍一下使bootstrap创建登录注册并实现验证功能的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
    vue.router是官方的路由插件,可让构建变得易如反掌。

    2021-09-24

    992

    vuejs能做的事:1、能让基于网的前端程序开发起来更加方便;2、可以简,也可以写一个大的前端系统;3、可以做从简到复杂的前端,随处可见的Web前端都可以Vue来开发。
    小米手机给设置密码的方法:首先将需要使到的手机解锁并打开设置;然后在打开的设置中点击“更多”选项;在打开的中点击“锁”选项;最后在打开的中根据需要选择为程序添加锁即可。
    vue和vuejs是一样的,因为vue只是vuejs的简称,没有区别;vuejs是一个于创建户界的开源JavaScript框架,也是一个创建的Web框架。
    vue.js不算开发工具;Vue.js是一个于创建户界的开源JavaScript框架,也是一个创建的Web框架;Vue所关注的核心是MVC模式中的视图层。
    vue.js支持移动端,以制作移动端的Webapp;Vue.js是一个开源JavaScript框架,能够开发程序;它还可以作Web程序框架,旨在简化Web开发。
    uni-app进行跳转到新的方法:1、在中直接navigator,里加上url;2、创建好要跳转的路径,接收的标识一下即可;3、通过指定type跳转到当前和底部tab

    2020-11-10

    1007

    Vue CLI是指vue脚手架,它是一个专门为快速搭建繁杂的脚手架,它可以轻松的创建新的程序,而且可于自动生成vue和webpack的项目模板。
    在HTML中表元素的使交互的关键所在,本文主要介绍了利document.forms获取当前的表

    2021-04-14

    php的作:1、PHP规范并且语法简易学,可以动态生成网;2、PHP可以在公告栏,查询表格,购物车多个板块使,它将在各种需要动态Web的生成程序使
    区别:1、id对css是样式选择符“#”;而class对css是样式选择符“.”。2、class可以在重复使;而id由于在只能出现一次,所以不能重复使
    前端中的vue.js指的是一个于创建户界的开源JavaScript框架,也是一个创建的Web框架;vue.js与其他重量级框架不同的是,Vue采自底向上增量开发的设计。
    AngularJS 工具对你开发 AngularJS App 项目非常有帮助,下的这些工具尤其适合于创建 WEB
    vue.js有轮播图插件,例如vue-concise-slider,它是基于Swiper4、适于Vue的轮播组件,支持服务端渲染和;vue-awesome-swiper配置简,支持自适/全屏
    现代Web程序严重依赖JavaScript,尤其是程序(SPA)。 借助React,AngularJS和Vue.js等新兴框架,Web程序主要使JavaScript构建。
    vue.js前端框架能做的有:1、Vue能让基于网的前端程序开发起来更加方便;2、vue可以简,也可以写一个大的前端系统;3、Vue上手速度快、功能强大,且提供了非常好的脚手架【vue-cli