Vue打包部署到服务器-找不到静态资源404错误

Vue打包部署到服务器-找不到静态资源404错误

参考:https://blog.csdn.net/AnnaF/article/details/105709569

问题描述

在本地运行正常,但是使用npm run build 上传服务器就总是报找不到静态资源。

在这里插入图片描述

原因

打包后的资源使用的是绝对路径,导致静态资源无法被找到。

解决办法

(1)更改config文件夹下index.js(config -> index.js -> build对象)资源发布路径:

// An highlighted block
 build: {
    // Template for index.html
    index: path.resolve(__dirname, '../dist/index.html'),

    // Paths
    assetsRoot: path.resolve(__dirname, '../dist'),
    assetsSubDirectory: 'static',
    assetsPublicPath: './',  // 修改为'./'
      /**
     * Source Maps
     */

    productionSourceMap: true,
    // https://webpack.js.org/configuration/devtool/#production
    devtool: '#source-map',

(2)更改build文件夹下的utils.js代码

// An highlighted block
 if (options.extract) {
    return ExtractTextPlugin.extract({
      use: loaders,
      fallback: 'vue-style-loader',
      publicPath:'../../' // 修改为'../../'
    })
  } else {
    return ['vue-style-loader'].concat(loaders)
  }
posted @ 2022-12-06 22:18  轻风细雨_林木木  阅读(670)  评论(0编辑  收藏  举报