vue.config.js 是用于配置 Vue CLI 项目的文件,通过这个文件,你可以对构建过程、开发服务器等进行更细粒度的配置。以下是一些常见的配置选项,你可以根据需求在 vue.config.js 中进行相应的设置:
// vue.config.js
module.exports = {
  // 基本路径
  publicPath: process.env.NODE_ENV === 'production' ? '/my-app/' : '/',

  // 输出文件目录
  outputDir: 'dist',

  // 静态资源目录
  assetsDir: 'static',

  // eslint-loader 是否在保存的时候检查
  lintOnSave: true,

  // 生产环境是否生成 sourceMap 文件
  productionSourceMap: false,

  // webpack-dev-server 相关配置
  devServer: {
    open: true, // 自动打开浏览器
    host: 'localhost',
    port: 8080,
    https: false,
    hotOnly: false, // 热更新(webpack 4.x 生效)
    proxy: {
      // 配置跨域
      '/api': {
        target: 'http://localhost:3000/api',
        ws: true,
        changeOrigin: true,
        pathRewrite: {
          '^/api': ''
        }
      }
    },
    // 使用 Mock 数据的情况下
    before: app => {
      // app 是 express 的实例,可以使用 express 的语法进行操作
      app.get('/api/goods', (req, res) => {
        res.json({
          code: 0,
          data: [...]
        });
      });
    }
  },

  // 配置 Webpack
  configureWebpack: {
    // 启用或禁用性能提示
    performance: {
      hints: 'warning', // 枚举
      maxAssetSize: 30000000, // 整数类型(以字节为单位)
      maxEntrypointSize: 50000000, // 整数类型(以字节为单位)
      assetFilter: function(assetFilename) {
        // 提供资源文件名的断言函数
        return assetFilename.endsWith('.css') || assetFilename.endsWith('.js');
      }
    }
  },

  // 配置 webpack 链式操作
  chainWebpack: config => {
    // 添加别名
    config.resolve.alias
      .set('@', resolve('src'))
      .set('assets', resolve('src/assets'))
      .set('components', resolve('src/components'));
  }
};

上述只是一些常见的配置选项,你可以根据项目的需求进一步添加或修改配置。Vue CLI 的[官方文档](https://cli.vuejs.org/zh/config/)中包含了更详细的配置说明,供你参考。根据具体场景,你可能还需要结合 webpack 的相关文档来进行更深层次的配置。


转载请注明出处:http://www.zyzy.cn/article/detail/4835/Vue