Vite Vue3 无服务预览

 一、安装 plugin-legacy 

pnpm i @vitejs/plugin-legacy -D

二、配置插件

import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';

import legacy from '@vitejs/plugin-legacy';

export default defineConfig({
	base:"./",
	plugins:[
		vue(),
		legacy({
			targets:["defaults","not IE 11"],
		})
	]
});

三、调整路由

路由必须是 createWebHashHistory 模式

import { createRouter, createWebHashHistory } from 'vue-router';
import routes from './routes';

const router: Router = createRouter({
  history: createWebHashHistory(),
  routes: routes,
});

四、打包预览

重新打包,直接打开index.html 即可访问

### 实现 ViteVue3 中 DOC 文件预览 为了在 ViteVue3 项目中实现 DOC 文件的预览功能,可以采用 `docx-preview` 插件来处理 `.docx` 格式的文件。此插件能够接收 docx 格式的二进制流,并允许浏览器直接渲染文档[^2]。 #### 安装依赖项 首先,在项目根目录下通过 npm 或 yarn 安装必要的包: ```bash npm install docx-preview axios form-data ``` 或者使用 yarn: ```bash yarn add docx-preview axios form-data ``` #### 创建组件用于展示 DOCX 预览 创建一个新的 Vue 组件 `DocPreview.vue` 来封装预览逻辑: ```vue <template> <div v-if="url"> <iframe :src="url" width="100%" height="600px"></iframe> </div> </template> <script setup> import { ref, onMounted } from &#39;vue&#39;; import axios from &#39;axios&#39;; const props = defineProps({ fileUrl: { type: String, required: true } }); let url = ref(null); onMounted(async () => { try { const response = await axios.get(props.fileUrl, { responseType: &#39;arraybuffer&#39; }); const blob = new Blob([response.data], { type: &#39;application/vnd.openxmlformats-officedocument.wordprocessingml.document&#39; }); url.value = URL.createObjectURL(blob); } catch (error) { console.error(&#39;Failed to fetch or convert the document:&#39;, error); } }); </script> ``` 这段代码定义了一个简单的 Vue 组件,它会尝试获取指定路径下的 .docx 文件作为二进制数据,然后将其转换为 Blob 对象并通过 Object URL 方式加载到 iframe 中显示出来。 对于其他类型的 Office 文档(如 .doc),由于现代浏览器不原生支持这些格式,建议先将它们转码为兼容版本 (.docx),再利用上述方式呈现;或者考虑第三方服务 API 进行在线转换后再调用本方案完成最终展现效果。 #### 使用 Docx-Preview 库替代 Iframe 方法 如果希望更优雅地解决这个问题而不借助于 `<iframe>`,还可以探索基于 JavaScript 的解决方案——即引入专门针对 Word 文档解析与可视化的库 `docx-preview`。这使得可以直接在页面内绘制出美观且交互性强的内容而无需担心跨域等问题的发生。 安装完成后按照官方说明初始化即可快速上手。 ```javascript // main.js import &#39;@mike_caveney/docx-preview/dist/style.css&#39;; // Import styles import DocxPreview from &#39;@mike_caveney/docx-preview&#39;; export default function App() { return ( <div id="app"> {/* Your app content */} <DocxPreview /> </div> ); } ``` 注意这里假设已经正确设置了 Webpack/Vite 构建工具链以便能顺利导入 CSS 资源文件。 以上就是在 Vite 及其配套框架环境下集成 DOC/DOCX 类型办公软件所生成电子文档实时查看特性的基本思路和技术要点介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值