vue出现白屏的3种情况:1、把路由模式mode设置成history了;只需改为hash或者直接删除模式配置,如果非要用history的话,在服务端加一个覆盖所有情况的候选资源即可。2、打包后的dist目录下的文件引用路径不对,会因找不到文件而报错导致白屏;修改一下config下面的index.js中bulid模块导出的路径即可。3、项目中用了es6语法,但浏览器不支持es6。
本教程操作环境: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什么时候会出现白屏的详细内容。更多信息请关注PHP中文网其他相关文章!