Vue项目运行npm run build后会生成一个dist文件夹,我们一般都是把这个文件夹部署到服务器上。dist文件夹里边有一个static文件和一个index.html页面,这个index就是最后单页面的最终文件。

有时候直接打包后,打开index.html,一片空白。 具体出现的问题,如下:

1.没有找到资源,资源路径错误

在这里插入图片描述

1、 配置下vue.config.js

在这里插入图片描述

在这里插入图片描述

2、检查下public文件下

在这里插入图片描述

3、修改下图片路径

在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/3734f6cbcb33401f97854d1531831d89.png#pic_center

解决方案--------直接参看代码:

1、修改vue.config.js配置项

主要修改这个路径: publicPath: ‘./’,//默认的’/‘是绝对路径,如果不确定在根路径,改成相对路径’./’

module.exports = {
  
    //基本路径
    publicPath: './',//默认的'/'是绝对路径,如果不确定在根路径,改成相对路径'./'
    // 输出文件目录
    outputDir: 'dist',
    assetsDir: 'src',
    indexPath: 'index.html',
    // eslint-loader 是否在保存的时候检查
    lintOnSave: true,
    // 生产环境是否生成 sourceMap 文件
    productionSourceMap: false,
    // css相关配置
    css: {
      // 是否使用css分离插件 ExtractTextPlugin
      extract: true,
      // 开启 CSS source maps?
      sourceMap: false,
    },
    // webpack-dev-server 相关配置
    devServer: {
      open: false, //open 在devServer启动且第一次构建完成时,自动用我们的系统的默认浏览器去打开要开发的网页
      host: '0.0.0.0', //默认是 localhost。如果你希望服务器外部可访问,指定如下 host: '0.0.0.0',设置之后之后可以访问ip地址
      port: 8080,
      hot: true, //hot配置是否启用模块的热替换功能,devServer的默认行为是在发现源代码被变更后,通过自动刷新整个页面来做到事实预览,开启hot后,将在不刷新整个页面的情况下通过新模块替换老模块来做到实时预览。
      https: false,
      hotOnly: false, // hot 和 hotOnly 的区别是在某些模块不支持热更新的情况下,前者会自动刷新页面,后者不会刷新页面,而是在控制台输出热更新失败
    //   proxy: {
    //     '/': {
    //       target: 'http://xxxx:8080', //目标接口域名
    //       secure: false, //false为http访问,true为https访问
    //       changeOrigin: true, //是否跨域
    //       pathRewrite: {
    //         '^/': '/' //重写接口
    //       }
    //     }
    //   }, // 设置代理
      before: app => { }
    },
    // 第三方插件配置
    // pluginOptions: {
    //   // ...
    // }
  };
  

2、查看public文件下-------index.html 文件引用的路径- 加上http:前缀

 <!-- <link rel="stylesheet" href="//at.alicdn.com/t/font999lmk.css"> -->
    <!-- 修改 本地css访问路径,不然打包时会报错 -->  加上http:前缀
    <link rel="stylesheet" href="http://at.alicdn.com/t/font999lmk.css">

3、在全局搜下 图片引用的路径 是否正确

   错误的路径----------------引用方法
   imgUrl: "//s.weituibao.com/1583585285468/juan.png",
   正确的----------------------引用方法----加上http:前缀
   imgUrl: "http://s.weituibao.com/1583585285471/sq.png",
       
       
Logo

前往低代码交流专区

更多推荐