vue cli3 关于 vue.config.js 的常用配置

module.exports = {
  filenameHashing: false,
  assetsDir: 'static/',
  configureWebpack: {
    externals: {
      'vue': 'Vue',
      'element-ui': 'ELEMENT',
      'vue-router': 'VueRouter',
      'axios': 'axios'
    },
    devServer: {
      disableHostCheck: true,
      port: '9001',
      open: 'http://localhost:9001/#login',
      proxy: {
        '/': {
          target: 'http://api.domain.com:9000/',
          changeOrigin: true
        }
      }
    }
  },
  chainWebpack: config => {
    if (process.env.NODE_ENV === 'production') {
      config.output.filename('static/js/[name].js?t=[hash:8]').end()
      config.output.chunkFilename('static/js/[name].js?t=[hash:8]').end()
      config.plugin('extract-css').tap(args => [{
        filename: 'static/css/[name].css?t=[hash:8]',
        chunkFilename: 'static/css/[name].css?t=[hash:8]'
      }])
    }
  }
}
module.exports = {
  css: {
    extract: {
      filename: 'css/[name].css?hash=[hash:8]',
      chunkFilename: 'css/[name].css?hash=[hash:8]'
    }
  },
  chainWebpack: config => {
    config.module
      .rule('images')
      .use('url-loader')
      .loader('url-loader')
      .tap(options => {
        options.fallback.options.name = 'img/[name].[ext]?hash=[hash:8]'
        return options
      })
  },
  configureWebpack: {
    output: {
      filename: 'js/[name].js?hash=[hash:8]',
      chunkFilename: 'js/[name].js?hash=[hash:8]'
    },
    externals: {
      'vue': 'Vue',
      'element-ui': 'ELEMENT',
      'vue-router': 'VueRouter',
      'axios': 'axios'
    },
    devServer: {
      disableHostCheck: true,
      port: '9001',
      open: 'http://localhost:9000/',
      proxy: {
        '/': {
          target: 'https://api.domain.com',
          changeOrigin: true
        }
      }
    }
  }
}
module.exports = {
  css: {
    extract: {
      filename: 'static/css/[name].css?hash=[contenthash:8]',
      chunkFilename: 'static/css/[name].css?hash=[contenthash:8]'
    }
  },
  chainWebpack: config => {
    config.module
      .rule('images')
      .use('url-loader')
      .loader('url-loader')
      .tap(options => {
        options.fallback.options.name = 'static/img/[name].[ext]?hash=[contenthash:8]'
        return options
      })
  },
  configureWebpack: {
    output: {
      filename: 'static/js/[name].js?hash=[chunkhash:8]',
      chunkFilename: 'static/js/[name].js?hash=[chunkhash:8]'
    },
    externals: {
      'vue': 'Vue',
      'element-ui': 'ELEMENT',
      'vue-router': 'VueRouter',
      'axios': 'axios'
    },
    devServer: {
      disableHostCheck: true,
      port: '9001',
      open: 'http://localhost:9000/',
      proxy: {
        '/': {
          target: 'https://api.domain.com',
          changeOrigin: true
        }
      }
    }
  }
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值