vue项目打包文件配置(vue-clli3)

Posted liyimei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue项目打包文件配置(vue-clli3)相关的知识,希望对你有一定的参考价值。

练手项目完结打包的时候遇到一些问题,特此记录

先贴我的vue.config.js文件的代码(vue-cli3构建的项目默认是没有此文件的,需手动添加)更多详细配置参考官方配置文档,我的项目不大不小,这些配置貌似就够了

module.exports = 

  // webpack配置,此处是因为我的项目打包时报错(WARNING in asset size limit: The following asset(s) exceed the recommended size limit ,因此有了这个webpack配置,若不存在静态资源过大,可不要这部分代码)
  configureWebpack: 
    // 警告 webpack 的性能提示
    performance: 
      hints: ‘warning‘,
      // 入口起点的最大体积
      maxEntrypointSize: 50000000,
      // 生成文件的最大体积
      maxAssetSize: 30000000,
      // 只给出 js 文件的性能提示
      assetFilter: function (assetFilename) 
        return assetFilename.endsWith(‘.js‘);
      
    
  ,
  baseUrl: ‘./‘,
  // 1.默认为 "/":部署在一个域名的根路径上 ; 2. "./":所有的资源都会被链接为相对路径,这样打出来的包可以被部署在任意路径
  outputDir: ‘dist‘,
  // 默认为 "dist",指打包后的资源放置的路径,放在dist文件夹下
  assetsDir: ‘static‘,
  // 默认为:‘‘ ,放置打包后生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录。
  indexPath: ‘index.html,
  // Default: ‘index.html‘ ,指定生成的 index.html 的输出路径 (相对于 outputDir)
  filenameHashing: true,
  // Default: true ,生成的静态资源在它们的文件名中包含了 hash 以便更好的控制缓存
  // pages:undefined,//在 multi-page 模式下构建应用
  lintOnSave: true,
  // Type: boolean|‘error‘;Default: true; true:将 lint 错误输出为编译警告;‘error‘:错误输出会导致编译失败
  runtimeCompiler: false,
  // Default: false, 设置为 true 后你就可以在 Vue 组件中使用 template 选项了,但是这会让你的应用额外增加 10kb 左右
  // transpileDependencies:[],//Default: [], 默认情况下 babel-loader 会忽略所有 node_modules 中的文件
  css: 
    modules: false,
    // Default: false, 设置为 true 后你就可以去掉文件名中的 .module 并将所有的 *.(css|scss|sass|less|styl(us)?) 文件视为 CSS Modules 模块。
    sourceMap: false // Default: false, 是否为 CSS 开启 source map。设置为 true 之后可能会影响构建的性能。
  ,
  // productionSourceMap: type:Bollean,default:true  生产源映射
  // 如果您不需要生产时的源映射,那么将此设置为false可以加速生产构建
  productionSourceMap: false,
  // devServer:type:Object 3个属性host,port,https

  // 以下为跨域配置(跨域是在开发时用到的,项目打包后是不需要配置跨域的),简单介绍下这里跨域配置的意思,我在本地开发的时候地址为localhost:8088,但是服务器的端口为localhost:80,要访问服务器的上的数据,就要跨域。将‘/MVS’代理为服务器的地址
  devServer: 
    port: 8088, // 端口号
    host: ‘localhost‘,
    https: false, // https:type:Boolean
    open: true, // 配置自动启动浏览器
     // 配置跨域处理,只有一个代理
    proxy: 
      ‘/MVS‘: 
        target: ‘http://127.0.0.1:80/‘,
        ws: false, //为true会让websocket默认连接
        changeOrigin: true,
        pathRewrite: 
          ‘^/MVS‘: ‘/MVS‘ // 重写接口访问
        
      ,
      ‘/foo‘: 
        target: ‘<other_url>‘
      
     // 配置多个代理
  
;

然后记录下遇到的问题:

首先是打包警告:WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB)

出现这个问题后,启动服务器,访问localhost时页面出不来,

解决办法是加入那部分webpack配置代码

然后第二个问题是:

Failed to load resource: the server responded with a status of 404 (Not Found)
解决办法是加baseURL配置就行了
baseUrl: ‘./‘,
要注意的是,baseURL配置和publicPath的配置会冲突,如果两者都存在会直接忽略baseURL,因此我直接删除了publicPath的配置

以上是关于vue项目打包文件配置(vue-clli3)的主要内容,如果未能解决你的问题,请参考以下文章

vue项目如何打包上线--笔记

vue项目打包配置多环境

最细致的Spring Boot结合Vue前后端分离项目打包部署步骤(搭配Nginx)

最细致的Spring Boot结合Vue前后端分离项目打包部署步骤(搭配Nginx)

webpack打包vue项目,可修改配置文件

vue项目打包上线