本教程操作环境:windows7系统、vue3版,dell g3电脑。
vue出现白屏现象主要几种原因和解决办法
第一种:由于把路由模式mode设置成history了,默认是hash。
解决方法:改为hash或者直接删除模式配置,如果非要用的话,在服务端加一个覆盖所有情况的候选资源。
如果你改成了history模式的话,打开也会是一片空白。所以改为hash或者直接把模式配置删除,让它默认的就行 。如果非要使用history模式的话,需要你在服务端加一个覆盖所有的情况的候选资源:如果url匹配不到任何静态资源,则应该返回一个index.html,这个页面就是你app依赖页面。
第二种:打包后的dist目录下的文件引用路径不对,会因找不到文件而报错导致白屏。
解决办法:修改一下config下面的index.js中bulid模块导出的路径。
因为index.html里边的内容都是通过script标签引入的,而你的路径不对,打开肯定是空白的。先看一下默认的路径。
build: { // template for index.html index: path.resolve(__dirname, '../dist/index.html'), // paths assetsroot: path.resolve(__dirname, '../dist'), assetssubdirectory: 'static', assetspublicpath: './', /** * source maps */ productionsourcemap: false, // https://webpack.js.org/configuration/devtool/#production devtool: '#source-map', // gzip off by default as many popular static hosts such as // surge or netlify already gzip all static assets for you. // before setting to `true`, make sure to: // npm install --save-dev compression-webpack-plugin productiongzip: false, productiongzipextensions: ['js', 'css'], // run the build command with an extra argument to // view the bundle analyzer report after build finishes: // `npm run build --report` // set to `true` or `false` to always turn it on or off bundleanalyzerreport: process.env.npm_config_report }
assetspublicpath默认的是 ‘/’ 也就是根目录。而我们的index.html和static在同一级目录下面。 所以要改为 ‘./ ’;
如果还是报错,修改build/webpack.prod.conf.js文件下webpackconfig,在output属性中添加 publicpath:"./",重新运行打包。
output: { path: config.build.assetsroot, filename: utils.assetspath('js/[name].[chunkhash].js'), chunkfilename: utils.assetspath('js/[id].[chunkhash].js') }
第三种:在项目中使用了es6的语法,一些浏览器不支持es6,造成编译错误不能解析而造成白屏
解决方法:安装babel ,babel 会把这些新语法转译成较低版本的代码。
npm install --save-dev @babel/core @babel/cli @babel/preset-env
【学习视频分享:vue视频教程、web前端视频】
以上就是vue什么时候会出现白屏的详细内容。
