vue.config.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. const path = require('path')
  2. const CompressionPlugin = require('compression-webpack-plugin')
  3. function resolve(dir) {
  4. return path.join(__dirname, dir)
  5. }
  6. const port = process.env.port || process.env.npm_config_port || 80 // 端口
  7. // vue.config.js
  8. module.exports = {
  9. // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
  10. productionSourceMap: false,
  11. configureWebpack: (config) => {
  12. // 生产环境取消 console.log
  13. if (process.env.NODE_ENV === 'production') {
  14. config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true
  15. }
  16. },
  17. chainWebpack: (config) => {
  18. config.resolve.alias
  19. .set('@$', resolve('src'))
  20. .set('@api', resolve('src/api'))
  21. .set('@assets', resolve('src/assets'))
  22. .set('@comp', resolve('src/components'))
  23. .set('@views', resolve('src/views'))
  24. // 生产环境,开启js\css压缩
  25. if (process.env.NODE_ENV === 'production') {
  26. config.plugin('compressionPlugin').use(
  27. new CompressionPlugin({
  28. test: /\.(js|css|less)$/, // 匹配文件名
  29. threshold: 10240, // 对超过10k的数据压缩
  30. deleteOriginalAssets: false, // 删除源文件
  31. })
  32. )
  33. }
  34. },
  35. css: {
  36. loaderOptions: {
  37. less: {
  38. modifyVars: {
  39. /* less 变量覆盖,用于自定义 ant design 主题 */
  40. 'primary-color': '#1890FF',
  41. 'link-color': '#1890FF',
  42. 'border-radius-base': '4px',
  43. },
  44. javascriptEnabled: true,
  45. },
  46. },
  47. },
  48. devServer: {
  49. host: '0.0.0.0',
  50. port: port,
  51. open: true,
  52. proxy: {
  53. [process.env.VUE_APP_BASE_API]: {
  54. // target: 'https://test-erp.xianglitech.com.cn/stage-api', // 请求本地 需要jshERP-boot后台项目
  55. target: 'http://192.168.2.112:8080', // 请求本地 需要jshERP-boot后台项目
  56. changeOrigin: true,
  57. pathRewrite: {
  58. ['^' + process.env.VUE_APP_BASE_API]: '',
  59. },
  60. },
  61. },
  62. disableHostCheck: true,
  63. },
  64. lintOnSave: false,
  65. }