Laravel9是基于php的最新的后端框架,在新的版本中集成了vite的热开发。vue3是广受欢迎的前端框架,基于mvvm的开发设计,带来了极大的方便。在众多的全景平台项目中,krpano应用广泛,特别是和js的可交互性,受到开发者的青睐。

一、项目目标:

  1. 服务器端采用Laravel9框架+vite。

  1. 前端采用vue3。

二、系统配置:

  1. 安装laravel9最新版本后,会自动安装vite。

  1. 服务器需要安装node和npm。

  1. 在项目中引入vue3.

参考:如何在 Laravel 9 中使用 Vite 安装 Vue 3_laravel_EUV-DevPress官方社区 (csdn.net)

三、项目方案

  1. web.php

Route::get('/vr',function(){return view('vr');
});
  1. vr.blade.php

在这个视图中要注意,一定不要把全景图展示容器元素<div id='pano'></div>嵌套到app容器<div ia='app'></div>中!

<!DOCTYPE html>
<html lang="en">
<head><title>vr</title><meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" /><meta name="apple-mobile-web-app-capable" content="yes" /><meta name="apple-mobile-web-app-status-bar-style" content="black" /><meta name="mobile-web-app-capable" content="yes" /><meta charset="utf-8" /><style>html { height:100%; }body { height:100%; overflow:hidden; margin:0; padding:0; font-family:Arial, Helvetica, sans-serif; font-size:16px; color:#FFFFFF; background-color:#000000; }</style><script src="/js/krpano.js"></script>
</head>
<body>
@vite('resources/js/vr.js')
<div id="app"></div>
<div id="pano" style="width:100%;height:100%;"><noscript><table style="width:100%;height:100%;"><div style="text-align:center;">ERROR:<br/><br/>Javascript not activated<br/><br/></div></noscript>
</div>
</body>
</html>
  1. vr.js

import './bootstrap';
import {createApp} from 'vue'
import App from './Vr.vue'
createApp(App).mount("#app")
  1. Vr.vue

<script>export default{data() {return {//krpano对象krpano: null}},methods: {krpano_onready_callback(krpano_interface){this.krpano = krpano_interface;}},mounted(){embedpano({id:'krpanoSWFObject',xml:"/tour.xml", target:"pano", html5:"only", mobilescale:1.0, passQueryParameters:"startscene,startlookat",onready:this.krpano_onready_callback})//测试与krpano XML动作的交互if(this.krpano){this.krpano.call('Test')}else{        console.log('no krpano')        }}    }
</script><style scoped>#pano{width:100%;height:100%;}
</style>
  1. tour.xml

在tour.xml中定义了场景和动作。该文件在laravel框架的静态目录public中

<krpano>...<action name='Test'>showlog(true);trace('In xml');</action>
</krpano>

Laravel9+vue3+krpano和vite相关推荐

  1. 前端vue3+typescript搭建vite项目(初识vite+项目配置完善+屏幕适配)

    一.文章引导 #mermaid-svg-1aHB08JglRY7yGzA {font-family:"trebuchet ms",verdana,arial,sans-serif; ...

  2. Vue3.0+TypeScript+Vite

    Vue3.0 + TypeScript + Vite Vue3.0+TypeScript+Vite 项目创建(推荐使用yarn包管理器) 项目结构 main.ts App.vue: Compositi ...

  3. vue3 setup + ts + vite 项目问题解决:Cannot find module ... or its corresponding type declarations.(ts2307)

    昨日我尝试使用vue3 setup + ts + vite进行vue3项目的实现,遇到此问题: Cannot find module ... or its corresponding type dec ...

  4. Vue3之——和Vite不得不说的事

    1.创建一个vite项目 npm init vite-app <project-name> cd <project-name> npm install npm run dev ...

  5. 创建vue3项目(vite+js)

    创建vue3+vite+js项目 1.找到指定的工作目录,进入该目录下 2.输入创建命令 3.创建成功后,进入到项目中安装npm 4.运行项目 1.找到指定的工作目录,进入该目录下 cd + 目录路径 ...

  6. 【Vue3】创建 vite + vue3 + Ant Design Vue 项目

    搭建脚手架 创建项目: 然后按照它的指示运行项目 配置文件 安装构建 vue-router: npm i vue-router@next 创建 router/index.js 文件: import { ...

  7. 踩坑记15 动态路由 router.options.routes未更新 | vue升级 element-plus未适配vue3.2.x | vite glob导入动态加载组件,不能使用别名alias

    2021.8.12 坑50(vue-router4.addRoute().router.options.routes未更新):进行动态权限获取菜单的设置,使用了addRoute()来添加路由,但是ro ...

  8. vue3日历时间 vite + vue3 日历时间

    vite + vue3日历时间 #vue3 Calendar组件 日历组件 选择vite + vue3 https://v3.cn.vuejs.org/guide/introduction.html ...

  9. Vue3学习笔记 ----- Vite、Vetur、Vue-router@4、Pinia的使用

    打包 – Vite 极速的服务启动,使用原生 ESM 文件,无需打包 轻量快速的热重载,始终极快的模块热重载(HMR) 丰富的功能,对 TypeScript.JSX.CSS 等支持开箱即用 传统打包方 ...

最新文章

  1. Google AI骗过了Google,工程师竟无计可施?
  2. js和 jquery对象
  3. [转]sqlplus中不能上下键选择前一条命令解决方法
  4. 法媒评马云996:亚洲独有的洗脑我们不懂
  5. CXF 入门:创建一个基于SOAPHeader的安全验证(CXF拦截器使用)
  6. Missing artifact log4j:log4j:bundle:1.2.17
  7. Yum (yellow dog update manager)
  8. android.mk 冒号,android学习-ndk-build(androidstudio编译cocos2d-x库的cpp为so文件的解释)
  9. 如何在 Mac 上设置 iCloud 功能?
  10. mysql 开发工具
  11. docker 监控容器的cpu、内存、网络、io情况
  12. 触摸式计算机屏幕,触控屏笔记本好不好 触摸屏笔记本优缺点分析【详细介绍】...
  13. ##稻盛和夫的名言##
  14. MIPI 系列之 DSI
  15. LSD算法调节参数GUI
  16. 乐1s 乐视X501_官方线刷包_救砖包_解账户锁
  17. Linux如何查看显卡版本
  18. iMeta | 俄亥俄州立大学郑庆飞组发表多组学方法研究肿瘤微生物组综述
  19. “黎明号”(Dawn)深空航天器与高效离子引擎
  20. Linux内核与编程

热门文章

  1. 智慧园区整体智能化管理平台规划方案
  2. 洛谷B2015计算并联电阻的阻值
  3. 政府频频施压,58同城依旧我行我素,虚假信息顽疾无解?
  4. 详细聊聊固码——第三方支付收单方的机会
  5. iOS自动化之tidevice
  6. jQuery系列 第六章 jQuery框架事件处理
  7. Air724开发板GPIO试验
  8. linux 命令行 常用软件,12款最佳Linux命令行终端工具
  9. 开关电源spice仿真与实用设计_【案例分享】功率管损耗多尺度仿真评估方法
  10. VS中使用 loadimage()函数载入图像报错与图像无法载入的解决办法