• 技术文章 >web前端 >前端问答

    vue什么时候会出现白屏

    青灯夜游青灯夜游2022-11-29 19:25:15原创335

    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视频教程web前端视频

    以上就是vue什么时候会出现白屏的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:Vue
    上一篇:vue怎么判断元素是否在可视区域 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 教你用Vue轻松做个贪吃蛇游戏(附演示代码)• 一文详解vue3中使用JSX的方法• 什么是语法糖?Vue3.2中怎么使用语法糖?• vue怎么判断元素是否在可视区域
    1/1

    PHP中文网