当前位置: 首页 > news >正文

Laravel-vite+vue开发前端模板

开始这篇文章的时候,你已经安装了laravel!你已经安装了laravel!你已经安装了laravel!

然后你的laravel服务器环境已经搭建好,应用可以正常访问

laravel vite plugin 官方原文

laravel默认已经集成vitejs,单纯使用vite只需要执行以下命令即可

npm install

但是这里我们需要使用vue作为前端框架

npm install @vitejs/plugin-vue

node依赖安装完成后,然后执行下面的命令 

npm run build
// or
num run dev

开发过程当然是走dev。

num run dev 这条命令执行以后,控制台大概是这样的:

VITE v6.3.2  ready in 359 ms➜  Local:   http://localhost:5173/➜  Network: use --host to expose➜  press h + enter to show helpLARAVEL v12.9.2  plugin v1.2.0➜  APP_URL: http://localhost

注意这上面的两个链接,这是由vite插件生成的。我们不用管它。

手痒可以点开浏览器看看。看完关掉就好了

!!!!!但是哈!!!!!!

控制台窗口不要关!!!!!!

这个是前端开发环境的热插拔服务,

挂着这个窗口,我们正常访问laravel应用入口,可以看到一个demo页面

现在我们用浏览器挂着这个页面。

接下来修改应用根目录下的vite.config.js,

这里直接复制官方的例子。

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import vue from '@vitejs/plugin-vue';export default defineConfig({plugins: [laravel(['resources/js/app.js']),vue({template: {transformAssetUrls: {// The Vue plugin will re-write asset URLs, when referenced// in Single File Components, to point to the Laravel web// server. Setting this to `null` allows the Laravel plugin// to instead re-write asset URLs to point to the Vite// server instead.base: null,// The Vue plugin will parse absolute URLs and treat them// as absolute paths to files on disk. Setting this to// `false` will leave absolute URLs un-touched so they can// reference assets in the public directory as expected.includeAbsolute: false,},},}),],
});

到这里我们可以看到浏览器窗口的变化(css样式没了),but.别急!

然后再laravel根目录下找到resources,

打开js路径添加一个Pages文件夹用来存放模板组件,你也可以起其他名字

然后新建一个Index.vue文件

接下来到vue官方文档复制一个Hello World贴到刚才创建的./Pages/Index.vue文件中

或者你也可以自己写一个demo (我超懒)

<!--
跟 Vue 说 Hello World!
--><script setup>
import { ref } from 'vue'// “ref”是用来存储值的响应式数据源。
// 理论上我们在展示该字符串的时候不需要将其包装在 ref() 中,
// 但是在下一个示例中更改这个值的时候,我们就需要它了。
const message = ref('Hello World!')
</script><template><h1>{{ message }}</h1>
</template>

然后按照官方文档挂载组件:

打开./resources/js/app.js文件

import { createApp } from 'vue';
import Index from './Pages/Index.vue';const app = createApp(Index);app.mount('#app');

laravel的vite插件依旧是Blade模板的一个扩展。

所以接下来最后一步是把刚才的vue代码导入Blade

现在我们添加一个blade模板文件

打开./resources/views/

将默认的welcome.blade.php文件复制一个到当前目录,我给他起名index.blade.php

修改路由文件routes/web.php

<?phpuse Illuminate\Support\Facades\Route;Route::get('/', function () {return view('index'); //将默认模板改为index
});

接下来修改index.blade.php

清空模板文件里<body>标签的全部内容(水一下文)

    <body></body>

刷新浏览器,确认你看到的页面已经是一片空白

接下来就是见证奇迹的时刻:给清空的<body>标签添加一个名为app的id属性

    <body id="app"></body>

然后刷新浏览器,你能正常看到Hello World!

本章就写到这里了!

有空再写laravel的模板标签在vue输出 

相关文章:

  • MIT6.S081-lab4
  • 如何在 Ubuntu 上安装 Apache CouchDB ?
  • 【数据结构和算法】1. 数据结构和算法简介、二分搜索
  • Apache Parquet 文件组织结构
  • MACOS 中聚焦使用技巧
  • 医药采购系统平台第10天02:按药品分类的统计按供货商统计按医院统计统计数据的导出DWR的配置和应用
  • 通过 WebSocket 接收和播放 WSS 协议视频流
  • AES (高级加密标准)
  • 大模型在胆管结石(无胆管炎或胆囊炎)预测及治疗方案制定中的应用研究
  • OpenCV 边缘检测(Edge Detection)cv2.Canny
  • Spring源码中关于抽象方法且是个空实现这样设计的思考
  • 剑指Offer(数据结构与算法面试题精讲)C++版——day16
  • OpenCSG AutoHub v0.5.0 版本发布
  • 关于数组处理优化的一次讨论
  • 使用Python可视化洛伦兹变换
  • LeetCode 打家劫舍+删除并获得点数
  • ROS机器人开发实践->机器人建模与仿真
  • 【Linux学习笔记】Linux的环境变量和命令行参数
  • LeetCode[232]用栈实现队列
  • Android学习之实战登录注册能力
  • 钱理群|直面衰老与死亡
  • 人大书报资料中心与中科院文献中心共筑学科融合创新平台
  • 俄“联盟MS-26”载人飞船安全返回地球
  • 申花迎来中超三连胜,这一次终于零封对手了
  • 对话地铁读书人|来自法学副教授的科普:读书日也是版权日
  • 精细喂养、富养宠物,宠物经济掀起新浪潮|私家周历