一文详解Laravel如何安装inertia vue3的版本

 4328

下面由给大家介绍Laravel如何安装inertia vue3的版本,希望对大家有所帮助!

一、安装前要求

1.1 已安装laravel框架

1.2 已安装Node JS

1.3 已安装Npm包管理工具


二、服务端配置

2.1 第一步:composer安装inertia-laravel

  1. composer require inertiajs/inertia-laravel

2.2 第二步:laravel目录resouces/views/新增app.blade.php文件,加入以下代码

  1. <!DOCTYPE html>
  2. <html>
  3.     <head>
  4.         <meta charset="utf-8"/>
  5.         <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"/>
  6.         <link href="{{ mix('/css/app.css') }}" rel="stylesheet"/>
  7.         <script src="{{ mix('/js/app.js') }}" defer></script>
  8.     </head>
  9.     <body>
  10.         @inertia
  11.     </body>
  12. </html>

2.3 第三步:执行 artisan 命令,添加中间件

  1. php artisan inertia:middleware

文件生成后,手动添加到 Kernel 文件中的 web 中间件组最后一行

  1. 'web' => [
  2.     // ...
  3.     \App\Http\Middleware\HandleInertiaRequests::class,
  4. ],

三、客户端配置

3.1 第一步:使用 npm 命令安装前端框架依赖,安装 VUE3 版本。

  1. npm install @inertiajs/inertia @inertiajs/inertia-vue3

3.2 第二步:初始化应用

打开 /resouces/js/app.js,清空后覆盖以下代码

  1. import { createApp, h } from 'vue'
  2. import { createInertiaApp } from '@inertiajs/inertia-vue3'
  3. createInertiaApp({
  4.   resolve: name => require(`./Pages/${name}`),
  5.   setup({ el, app, props, plugin }) {
  6.     createApp({ render: () => h(app, props) })
  7.       .use(plugin)
  8.       .mount(el)
  9.   },
  10. })

3.3 第三步:npm 安装进度条包

使用 inertia 做出来的页面,浏览器不会刷新,为了用户感知增加了页面顶部进度条这种友好的提示 [脑补一下]

  1. npm install @inertiajs/progress

安装完成后,引入并初始化,打开 /resouces/js/app.js,清空后覆盖以下代码

  1. import { createApp, h } from 'vue'
  2. import { createInertiaApp } from '@inertiajs/inertia-vue3'
  3. import { InertiaProgress } from '@inertiajs/progress'
  4. createInertiaApp({
  5.     resolve: name => import(`./Pages/${name}`),
  6.     setup({ el, app, props, plugin }) {
  7.         createApp({ render: () => h(app, props) })
  8.             .use(plugin)
  9.             .mount(el)
  10.     },
  11. })
  12. InertiaProgress.init()

3.4 第四步 使用以下 webpack 配置来强制浏览器在文件更新后,加载新的资源,而不是使用缓存。

打开 webpack.mix.js,清空并覆盖以下代码

  1. const mix = require('laravel-mix');
  2. mix.js('resources/js/app.js', 'public/js')
  3.     .postCss('resources/css/app.css', 'public/css', [
  4.         //
  5.     ]);
  6. mix.webpackConfig({
  7.     output: {
  8.         chunkFilename: 'js/[name].js?id=[chunkhash]',
  9.     }
  10. });

四、安装 VUE

第一步 使用 npm 命令安装 vue 最新稳定版

  1. npm install vue@next

第二步 添加.vue ()webpack.mix.js

  1. const mix = require('laravel-mix');
  2. mix.js('resources/js/app.js', 'public/js')
  3.     .vue()
  4.     .postCss('resources/css/app.css', 'public/css', [
  5.         //
  6.     ]);
  7. mix.webpackConfig({
  8.     output: {
  9.         chunkFilename: 'js/[name].js?id=[chunkhash]',
  10.     }
  11. });

第三步通过 npm 命令运行

  1. npm run watch

如果报错


一文详解Laravel如何安装inertia vue3的版本


解决:升级 vue-loader,执行

  1. npm i vue-loader

如果还报错


一文详解Laravel如何安装inertia vue3的版本


解决:resouces/js 目录下新增 Pages 文件夹。

成功状态


一文详解Laravel如何安装inertia vue3的版本


本文安装参考

inertia.js 中文文档

TAG标签:
本文网址:https://www.zztuku.com/detail-10896.html
站长图库 - 一文详解Laravel如何安装inertia vue3的版本
申明:本文转载于《learnku》,如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐