{
"name": "ncn-sop-spa",
"version": "0.0.0",
"private": true,
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
},
"dependencies": {
"@layui/layer-vue": "^2.4.2",
"element-plus": "^2.7.7",
"i": "^0.3.7",
"jquery": "^3.7.1",
"plyr": "^3.7.8",
"vue": "^3.4.29",
"vue-router": "^4.3.3"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.0.5",
"vite": "^5.3.1"
}
}
使用vite5.3.1+vue3.4.29+plyr3.7.8学习做一个视频播放组件,组件代码:
<div ref="player" class="" width="100%">
<video width="100%" height="240" playsinline controls>
<source src="/store/123.mp4" type="video/mp4">
Your browser does not support HTML5 video.
</video>
</div>
问题描述:
1.使用npx vite 预览时 plyr视频无法播放,查看视频地址为http://localhost:5173/store/123.MP4,打开浏览器调试页面报错为:
[Vue Router warn]: No match found for location with path "/store/123.MP4"
2.但是在同样目录下。打开一个图片时是正常的。
请专家帮忙看下是什么问题,为什么同样的public的store文件夹上,图片和视频文件会出现不一样的情况。另外,我对http://localhost:5173/store/123.MP4打不开视频的情况进行了测试,在store前面加上public路径时就可以打开http://localhost:5173/public/store/123.MP4。但是npm run build后打包文件中按照http://localhost:5173/public/store/123.MP4地址找不到视频,按照http://localhost:5173/store/123.MP4可以观看视频。
请教下这问题是什么原因,如何解决,不可能在开发的时候每个视频地址前面都要加上public,然后npm run build打包时又取消public把