vue打包遇坑之旅

120 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

给学校开发的管理后台需要部署到服务器上使用,这里记录其中打包的流程和出现的问题。首先声明,我不是专业的前端,VUE这个框架我第一次接触,可能有很多很傻的操作,见谅下。

这里就是采用Vue-element连接数据库做了一个简单的管理端。大致的界面如下: image.png

一、尝试打包

我寻思这有什么难得,直接npm run build ,这我会翻车?

事实证明,车是肯定要翻的!!!

image.png

通过查阅资料得知,需要关注项目里的package.json里的是buid还是buid:prod

image.png

如果是buid就用

npm run buid

如果是buid:prod就用

npm run buid:prod

打包成功以后会多一个dist文件夹

image.png

image.png

直接打开里面的index.html就是我们的界面了。

image.png

二、出现问题:有一页出现空白

image.png

我能保证npm run dev的开发版是没有问题的,就是打包后才出现的这个空白页问题。并且除了这个页其他页都是没问题。(因为隐私问题,其他页不进行展示)

F12看到空白页控制台报了这个错,其他正常页是没有的。

image.png

三、尝试解决报错

通过定位报错位置,我发现了是这个出现了问题。

image.png

经过查阅资料,其实.toString.call(t).toString(t)效果一样,但是

image.png

可以看到控制台不报错,但是空白页问题还是没有解决。

四、发现空白页规律

目前,注册用户管理是在第一个,他变成了空白页,如果我把别的页放在他的前面,其他页就成了空白页,而注册用户管理就正常了。

我把第一页变成一个除了占格子对功能并无影响的测试页

image.png

可以看到,测试页空白。

image.png

注册用户管理恢复正常

image.png

总结

我能大致理清是页面router索引的问题,但是,我对这个VUE框架没有系统的了解过,只是知道这个很好用。

所以,先用一个粗糙而快速的方法过掉这个bug保证项目能够快速上线并且正常使用就行了。

当然这样放个无用空白页对我这种强迫症非常不友好,但是先保证项目正常上线是第一要务.

ps:我试过测试页hidden的话注册用户管理页还是会空白。