vue项目静态文件资源下载

业务场景:页面有一个导入功能,需要一个模板文件供下载,文件放在本地。

对于 Vue 3 + Vite 项目,使用 require 方法来导入模块是不被支持的。require 是 CommonJS 规范中用于模块导入的方法,在 Webpack 等构建工具中常用。
Vite 使用 ES 模块规范,并且支持动态导入(Dynamic Import)语法,可以通过 import() 来实现异步加载模块或导入非 JavaScript 文件;同时提供了一个静态资源处理的方法。
new URL(url, import.meta.url) https://www.vitejs.net/guide/assets.html#new-url-url-import-meta-url

1、vue2 + webpack

js 复制代码
<a :href="File" download>导入模板.xlsx</a>

import File from '@/assets/excels/导入模板.xlsx'

2、vue3 + vite

js 复制代码
<a :href="File" download>导入模板.xlsx</a>

const File = new URL('@/assets/excels/导入模板.xlsx', import.meta.url).href;
相关推荐
_AaronWong16 小时前
Vue3+Element Plus 通用表格组件封装与使用实践
前端·javascript·vue.js
前端西瓜哥16 小时前
图形编辑器开发:文字排版如何实现自动换行?
前端
代码煮茶16 小时前
JS 异步编程实战 | 从回调地狱到 Promise/Async/Await(附代码 + 面试题)
javascript·面试
全栈老石16 小时前
手写一个无限画布 #3:如何在Canvas 层上建立事件体系
前端·javascript·canvas
晴殇i16 小时前
BroadcastChannel:浏览器原生跨标签页通信
前端·面试
csdn飘逸飘逸16 小时前
Autojs基础-device(设备)
javascript
DeathGhost16 小时前
分享URL地址到微信朋友圈没有缩略图?
前端·html
csdn飘逸飘逸16 小时前
Autojs基础-文件系统(files)
javascript
MrBread16 小时前
微任务链式派生阻塞渲染
前端·debug
wuhen_n16 小时前
patch算法:新旧节点的比对与更新
前端·javascript·vue.js