vue打包部署后使用iframe嵌入的外部网页不展示了
时间: 2023-10-30 15:04:41 浏览: 210
使用iframe在网页中嵌入其他网页的方法
可能是因为 Vue 打包后的静态文件路径不正确导致的。在 Vue 打包后的文件中,所有静态资源的路径都会被修改为相对路径(如 `./static/js/app.123456.js`),而这些相对路径是相对于 HTML 文件所在的目录的。
当你将 Vue 打包后的 HTML 文件嵌入到一个外部网页的 iframe 中时,由于外部网页的路径与 HTML 文件所在的路径不同,所以浏览器无法正确加载静态资源。为了解决这个问题,你可以考虑以下几种方法:
1. 在打包时设置 publicPath,指定静态资源的公共路径,如:
```
module.exports = {
publicPath: '/vue-app/'
}
```
这样打包后的静态资源路径就会变成 `/vue-app/static/js/app.123456.js`,无论在哪个网页中嵌入都可以正确加载。
2. 使用绝对路径引用静态资源,如:
```
<script src="/vue-app/static/js/app.123456.js"></script>
```
这样无论在哪个网页中嵌入都可以正确加载。
3. 将 Vue 打包后的静态资源文件放到与外部网页同级的目录下,然后使用相对路径引用静态资源,如:
```
<script src="../vue-app/static/js/app.123456.js"></script>
```
这样即使外部网页的路径与 HTML 文件所在的路径不同,也可以正确加载静态资源。
阅读全文