Laravel8中使用vue

安装Laravel8

composer create-project --prefer-dist laravel/laravel la8vue

引入laravel/ui

cd la8vue
composer require laravel/ui

初始化Bootstarp与Vue

php artisan ui bootstrap
php artisan ui vue

安装Vue前后对比

路径为 根目录下的package.json文件

安装前

"devDependencies": {
   "axios": "^0.19",
   "cross-env": "^7.0",
   "laravel-mix": "^5.0.1",
   "lodash": "^4.17.19",
   "resolve-url-loader": "^3.1.0"
}

安装后

"devDependencies": {
   "axios": "^0.19",
   "bootstrap": "^4.0.0",
   "cross-env": "^7.0",
   "jquery": "^3.2",
   "laravel-mix": "^5.0.1",
   "lodash": "^4.17.19",
   "popper.js": "^1.12",
   "resolve-url-loader": "^2.3.1",
   "sass": "^1.20.1",
   "sass-loader": "^8.0.0",
   "vue": "^2.5.17",
   "vue-template-compiler": "^2.6.10"
}

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

入口文件resources/js/app.js文件

require('./bootstrap');

window.Vue = require('vue');

// 注册组件
Vue.component('example-component', require('./components/ExampleComponent.vue').default);

// 挂载实例
const app = new Vue({
   el: '#app',
});

安装依赖

npm install

代码测试

编写一个Vue组件

resources/js/components目录下创建DemoComponent.vue组件

<template>
<div class="container">
   <div class="jumbotron">
        这里是自如初博客
   </div>
</div>
</template>

<script>
export default {
 // 导出组件
 name:'DemoComponent'
}
</script>

<style scoped>

</style>

app.js中注册组件

Vue.component('example-component', require('./components/DemoComponent.vue').default);

改造laravel欢迎界面视图

resources/views/welcome.blade.php

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
   <head>
       <meta charset="utf-8">
       <meta name="viewport" content="width=device-width, initial-scale=1">

       <title>Laravel</title>

       <!--1、 引入支持 Bootstrap 的 CSS 样式文件 -->
       <link href="{{ asset('css/app.css') }}" rel="stylesheet">

 
   </head>
   <body>
     <div id="app">
         <div>
      <!-- 3、使用组件 -->
           <demo-component></demo-component>
         </div>
     </div>  

    <!-- 2、引入支持Vue框架和Vue组件的app.js文件 -->
     <script src="{{ asset('js/app.js') }}"></script>
   </body>
</html>

运行

窗口中运行vue

npm run dev

实时编译

现在的情况是,每改动一次Vue组件就要重新执行npm run dev,这样非常麻烦;

可以使用npm run watch命令编译前端资源,每改动一次就会自动进行重新编译

 

相关错误情况

1.npm run dev的时候爆错 WARNING in child compilations (Use 'stats.children: true' resp. '--stats-children' for more detail

在这里找到了答案,因为 autoprefixer@10.4.6 弃用了 color-adjust

安装 10.4.5 版本就好

npm install autoprefixer@10.4.5 --save-exact

2.'mix' is not recognized as an internal or external command,

npm install laravel-mix@latest --save-dev

 

posted @ 2022-06-20 21:09  情三  阅读(365)  评论(0编辑  收藏  举报