admin 管理员组文章数量: 1184232
起因:前端打包成zip供原生预加载,然后本地打开以提高用户体验
问题:vite打包之后,使用file协议会跨域,原生解决就行,但是Vite 默认使用原生的 ECMAScript 模块 (ESM) 进行开发和构建,这在现代浏览器中通常是非常高效和快速的。然而,一些旧版本的浏览器或不支持 ESM 的浏览器可能无法运行由 Vite 打包的代码。这时需要兼容
解决:使用@vitejs/plugin-legacy插件,在vite.config.js里添加以下代码
import Legacy from '@vitejs/plugin-legacy'
...
plugins: [
vue(),
Legacy({
targets: ['ie >= 11'], // 或其他需要支持的浏览器
additionalLegacyPolyfills: ['regenerator-runtime/runtime']
})
],
...
并且需要安装yarn add terser因为从 Vite v3 开始,terser 成为了一个可选的依赖项
补充一点:兼容老版本后可能会出现
Uncaught (in promise) {"name": "TypeError", "message": "Cannot read properties of null (reading 'nextSibling')", "stack": "TypeError: Cannot read properties of null (reading 'nextSibling')\n at nextSibling
这个时候需要把元素用一个div包起来
本文标签: vite
版权声明:本文标题:解决vue3 vite 打包之后不能直接打开 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1765056109a3343594.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论